Определяет ли в стандартной библиотеке Haskell тип данных, подобный этому
data ListWithEnd e a = Cons a (ListWithEnd e a)
| End e
Это список, у которого завершающий элемент несет значение определенного типа?
So ListWithEnd ()
изоморфно []
, а ListWithEnd Void
изоморфно бесконечным потокам. Или, по-разному, ListWithEnd e a
очень близок к ConduitM () a Identity e
..