Methods
unitObject :: Add -> Obj (Cod Add) (Unit Add) Source #
leftUnitor :: ((* -> * -> *) ~ Cod Add) k => Add -> Obj k a -> k (Add :% (Unit Add, a)) a Source #
leftUnitorInv :: ((* -> * -> *) ~ Cod Add) k => Add -> Obj k a -> k a (Add :% (Unit Add, a)) Source #
rightUnitor :: ((* -> * -> *) ~ Cod Add) k => Add -> Obj k a -> k (Add :% (a, Unit Add)) a Source #
rightUnitorInv :: ((* -> * -> *) ~ Cod Add) k => Add -> Obj k a -> k a (Add :% (a, Unit Add)) Source #
associator :: ((* -> * -> *) ~ Cod Add) k => Add -> Obj k a -> Obj k b -> Obj k c -> k (Add :% (Add :% (a, b), c)) (Add :% (a, Add :% (b, c))) Source #
associatorInv :: ((* -> * -> *) ~ Cod Add) k => Add -> Obj k a -> Obj k b -> Obj k c -> k (Add :% (a, Add :% (b, c))) (Add :% (Add :% (a, b), c)) Source #