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;
}