traverseOption

inline fun <A, B> Iterable<A>.traverseOption(f: (A) -> Option<B>): Option<List<B>>
inline fun <A, B> NonEmptyList<A>.traverseOption(f: (A) -> Option<B>): Option<NonEmptyList<B>>
fun <A, B> Sequence<A>.traverseOption(f: (A) -> Option<B>): Option<Sequence<B>>
inline fun <K, A, B> Map<K, A>.traverseOption(f: (A) -> Option<B>): Option<Map<K, B>>