ISet<B> transform<B>(Order<B> order, B f(A a)) => foldLeft(new ISet.empty(order), (acc, a) => acc.insert(f(a)));