&gt;Haskell&#x27;s so-called &quot;list&quot; type constructor is actually a type constructor of streams.<p>Most papers consider streams to be lists <i>without</i> a terminal constructor. Haskell lists are a superset of streams. All streams have infinite lengths, but only some lists have infinite length. (Again, this just comes down to definition, but this is how most functional papers describe it.)