IVector<Option<B>> traverseIVector<B>(IVector<B> f(A a)) => fold(() => emptyVector<Option<B>>().appendElement(none()), (a) => f(a).map(some));