Другими словами, возможно ли как-то объединить что-то вроде sequence и join, чтобы получить функцию:
sequence
join
m (ConduitT a b m c) -> ConduitT a b m c
Одной из непосредственных проблем является то, что ConduitT не не имеет экземпляра a Foldable, хотя доступны функции сгиба . Хотя в любом случае это может лаять не на то дерево.
ConduitT
Foldable
ConduitT - монадный трансформатор: он реализует lift :: m x -> ConduitT a b m x.
lift :: m x -> ConduitT a b m x
join . lift :: m (ConduitT a b m c) -> ConduitT a b m c