Streaming does indeed imply interleaved effects. The text you quote does not say otherwise.
To paraphrase the pipes documentation:
- If you don't have effects, then you're just left with lazy data structures. They compose nicely but you can't do IO (except lazy IO, which we're trying to avoid).
- If you do have effects but don't stream, then you can do IO but won't get a result until the end.