Type-level bimap.
Example
data Example where Ex :: a -> Example -- Hide the type of examples to avoid brittleness in different GHC versions:kind! Ex (Eval (Bimap ((+) 1) (Flip (-) 1) '(2, 4)) :: (Natural, Natural))Ex (Eval (Bimap ((+) 1) (Flip (-) 1) '(2, 4)) :: (Natural, Natural)) :: Example= Ex '(3, 3)
Instances3Eval
type Eval (Bimap f g '(x, y)) = '(Eval (f x), Eval (g y))Defined in first-class-families-0.8.1.0 · Fcf.Class.Bifunctortype Eval (Bimap f g ('Left x)) = 'Left (Eval (f x))Defined in first-class-families-0.8.1.0 · Fcf.Class.Bifunctortype Eval (Bimap f g ('Right y)) = 'Right (Eval (g y))Defined in first-class-families-0.8.1.0 · Fcf.Class.Bifunctor