static L pcallFParallel(F0... functions) { ret pcallFParallel(asList(functions)); } static L pcallFParallel(L> functions) { int n = l(functions); L outInner = repNull(n); final L out = synchroList(outInner); new L steppables; for i to n: { final F0 f = functions.get(i); final int _i = i; steppables.add(new Steppable { public bool step() { out.set(_i, pcallF(f)); false; } }); } new Flag done; new MultiThreadStepper(steppables).onDone(rRaiseFlag(done)).start(); done.waitUntilUp(); ret outInner; }