Module docstring
{"Remark: we considered using the following alternative design ``` structure Stream (α : Type u) where stream : Type u next? : stream → Option (α × stream)
class ToStream (collection : Type u) (value : outParam (Type v)) where
toStream : collection → Stream value
``
whereStreamis not a class, and its state is encapsulated.
The key problem is that the typeStream α\"lives\" in a universe higher thanα.
This is a problem because we want to useStream`s in monadic code.
"}