static Conveyor<From<I>, I> take<I>(int n) => n <= 0 ? halt() : consume((i) => produce(i, take(n-1)));