static A foldl(F2, A seed, Iterable l) { A a = seed; if (l != null) for(B b : l) a = callF(a, b); ret a; }