sclass InputProcessor1 { new Map> propertyMakers; sclass Out > PropertiesAndErrors { S input; } Out process(S input) { Out out = nu(+input); for (S name, O f : propertyMakers) callFAndPutInResultOrErrorMap(out.properties, out.propertyErrors, input, f, input); ret out; } }