When should a Sequence be lazy (w.r.t. a wrapper)?

If I have a sequence that wraps other sequences, and its iterator wraps the base sequences' iterators, and the top-level iterator only takes at most one element from a base iterator at a time, can the top-level sequence be unconditionally lazy? Or should that be restricted to only when every base sequence is lazy?