>>> mconcat ["Hello", " ", "Haskell", "!"] "Hello Haskell!"
mconcat = Stream.fold Fold.mconcatPre-release
>>> mconcat = Scanl.sconcat mempty
>>> monoids = fmap Data.Monoid.Sum $ Stream.enumerateFromTo 1 3 >>> Stream.toList $ Stream.scanl Scanl.mconcat monoids [Sum {getSum = 0},Sum {getSum = 1},Sum {getSum = 3},Sum {getSum = 6}]
>>> :{ let foo :: Tensored (,) () '[Bool, Int] foo = Tensored (True, (8, ())) :}
>>> :{ let bar :: Tensored Either Void '[Bool, Int] bar = Tensored $ Right $ Left 8 :}
>>> :{ let baz :: Tensored These Void '[Bool, Int] baz = Tensored $ These True $ This 8 :}