static L intersperse_dyn(IF2 f, Iterable l) { new L out; A prev = null; fOr (A x : l) { if (!empty(out)) out.add(f.get(prev, x)); out.add(x); prev = x; } ret out; }