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