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