Functor f => BifunctorFunctor k k1 k k1 (Tannen k k1 * f) Source # | |
|
Comonad f => BifunctorComonad k k1 (Tannen k k1 * f) Source # | |
|
(Functor f, Monad f) => BifunctorMonad k k1 (Tannen k k1 * f) Source # | |
|
(Applicative f, Category k p) => Category k (Tannen k k * f p) Source # | |
Methods id :: cat a a # (.) :: cat b c -> cat a b -> cat a c # |
(Functor f, Bifunctor p) => Bifunctor (Tannen * * * f p) Source # | |
|
(Applicative f, Arrow p) => Arrow (Tannen * * * f p) Source # | |
|
(Applicative f, ArrowZero p) => ArrowZero (Tannen * * * f p) Source # | |
|
(Applicative f, ArrowPlus p) => ArrowPlus (Tannen * * * f p) Source # | |
|
(Applicative f, ArrowChoice p) => ArrowChoice (Tannen * * * f p) Source # | |
|
(Applicative f, ArrowLoop p) => ArrowLoop (Tannen * * * f p) Source # | |
|
(Foldable f, Bifoldable p) => Bifoldable (Tannen * * * f p) Source # | |
|
(Traversable f, Bitraversable p) => Bitraversable (Tannen * * * f p) Source # | |
|
(Applicative f, Biapplicative p) => Biapplicative (Tannen * * * f p) Source # | |
|
(Functor f, Bifunctor p) => Functor (Tannen * * * f p a) Source # | |
|
(Foldable f, Bifoldable p) => Foldable (Tannen * * * f p a) Source # | |
|
(Traversable f, Bitraversable p) => Traversable (Tannen * * * f p a) Source # | |
|
Functor f => Generic1 (Tannen * k * f p a) Source # | |
|
Eq (f (p a b)) => Eq (Tannen k2 k1 k f p a b) Source # | |
|
Ord (f (p a b)) => Ord (Tannen k2 k1 k f p a b) Source # | |
|
Read (f (p a b)) => Read (Tannen k2 k1 k f p a b) Source # | |
|
Show (f (p a b)) => Show (Tannen k2 k1 k f p a b) Source # | |
|
Generic (Tannen k2 k1 k f p a b) Source # | |
Associated Types type Rep (Tannen k2 k1 k f p a b) :: * -> * # |
type Rep1 (Tannen * k * f p a) Source # | |
|
type Rep (Tannen k2 k1 k f p a b) Source # | |
|