import { Arity1, curry } from '@typed/lambda' export const chain: { (fn: Arity1>, iterable: Iterable): Iterable (fn: Arity1>): (iterable: Iterable) => Iterable } = curry(__chain) export function* __chain(fn: Arity1>, iterable: Iterable): Iterable { for (const a of iterable) { yield* fn(a) } }