cycle package:streaming

Cycle repeatedly through the layers of a stream, ad inf. This function is functor-general
cycle = forever
>>> rest <- S.print $ S.splitAt 3 $ S.cycle (yield True >> yield False)
True
False
True

>>> S.print $ S.take 3 rest
False
True
False
Construct an infinite stream by cycling a finite one
cycles = forever
>>>