- Adaptor is **fused:** guaranteed to return None indefinitely after end of iterator. - Adaptor is **well behaved:** Does not call `.next()` on non-fused iterator after it has returned None once. All of our adaptors must be well behaved, some guarantee being fused.