@[inline]
Given an iterator it and a natural number n, it.take n is an iterator that outputs
up to the first n of it's values in order and then terminates.
Marble diagram:
it          ---a----b---c--d-e--⊥
it.take 3   ---a----b---c⊥
it          ---a--⊥
it.take 3   ---a--⊥
Termination properties:
- Finiteinstance: only if- itis productive
- Productiveinstance: only if- itis productive
Performance:
This combinator incurs an additional O(1) cost with each output of it.
Equations
- Std.Iterators.Iter.take n it = (Std.Iterators.IterM.take n it.toIterM).toIter