takeWhile package:streaming

End stream when an element fails a condition; the original return value is lost. By contrast span preserves this information, and is generally more desirable.
S.takeWhile thus = void . S.span thus
To preserve the information - but thus also force the rest of the stream to be developed - write
S.drained . S.span thus
as dropWhile thus is
S.effects . S.span thus
Like takeWhile, but takes a monadic predicate.