import { curry } from '@typed/lambda' export const take = curry(__take) as { (amount: number, iterable: Iterable): Iterable (amount: number): (iterable: Iterable) => Iterable } function* __take(amount: number, iterable: Iterable): Iterable { for (const x of iterable) { if (amount-- > 0) { yield x } } }