IList<Option<B>> traverseIList<B>(IList<B> f(A a)) => fold(() => cons(none(), nil()), (a) => f(a).map(some));