Implement a take(n) utility that takes the first n values from any iterable — including infinite ones: