zip

fun <B> zip(other: Option<B>): Option<Pair<A, B>>
inline fun <B, C> zip(b: Option<B>, map: (A, B) -> C): Option<C>
inline fun <B, C, D> zip(    b: Option<B>,     c: Option<C>,     map: (A, B, C) -> D): Option<D>
inline fun <B, C, D, E> zip(    b: Option<B>,     c: Option<C>,     d: Option<D>,     map: (A, B, C, D) -> E): Option<E>
inline fun <B, C, D, E, F> zip(    b: Option<B>,     c: Option<C>,     d: Option<D>,     e: Option<E>,     map: (A, B, C, D, E) -> F): Option<F>
inline fun <B, C, D, E, F, G> zip(    b: Option<B>,     c: Option<C>,     d: Option<D>,     e: Option<E>,     f: Option<F>,     map: (A, B, C, D, E, F) -> G): Option<G>
inline fun <B, C, D, E, F, G, H> zip(    b: Option<B>,     c: Option<C>,     d: Option<D>,     e: Option<E>,     f: Option<F>,     g: Option<G>,     map: (A, B, C, D, E, F, G) -> H): Option<H>
inline fun <B, C, D, E, F, G, H, I> zip(    b: Option<B>,     c: Option<C>,     d: Option<D>,     e: Option<E>,     f: Option<F>,     g: Option<G>,     h: Option<H>,     map: (A, B, C, D, E, F, G, H) -> I): Option<I>
inline fun <B, C, D, E, F, G, H, I, J> zip(    b: Option<B>,     c: Option<C>,     d: Option<D>,     e: Option<E>,     f: Option<F>,     g: Option<G>,     h: Option<H>,     i: Option<I>,     map: (A, B, C, D, E, F, G, H, I) -> J): Option<J>
inline fun <B, C, D, E, F, G, H, I, J, K> zip(    b: Option<B>,     c: Option<C>,     d: Option<D>,     e: Option<E>,     f: Option<F>,     g: Option<G>,     h: Option<H>,     i: Option<I>,     j: Option<J>,     map: (A, B, C, D, E, F, G, H, I, J) -> K): Option<K>