@mattip. This surprises me a little: ```python >>> it = np.nditer(np.arange(3)) >>> next(it) array(0) >>> it.close() >>> next(it) array(1) >>> next(it) array(2) >>> next(it) StopIteration ``` Compare with ```python >>> def generator(): ... yield from range(3) >>> it = generator() >>> next(it) 0 >>> it.close() >>> next(it) StopIteration ```