= Partial-list interleaving obstruction
No generic sequential pure <Haskell> operation can guarantee emission of every available input occurrence when either of two input spines may be the <bottom value>. To obtain an arbitrary element, it must eventually demand one input. That input can be undefined while the other is a defined singleton, so the demand blocks the promised singleton output. Choosing the other input first reverses the counterexample. <Lazy evaluation> cannot determine which computation will diverge; the positive two-stream fairness result needs <proper lazy lists> or a stronger concurrent computational model.
Back to article page