mconcat package:monoidal-functors

Examples:
>>> :{
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
:}