Safe HaskellSafe

TypeOperators

Documentation

data a :-: b

data (a :+: b) c

data Op a b

newtype O g f a

Constructors

O

Fields

class a <=> b

biO :: (g `O` f) a

f :: a ~ b => a -> b

g :: (a ~ b, b ~ c) => a -> c

x :: (a :-: a) <=> (a `Op` a) => a

y :: (a <=> a, (a `Op` a) <=> a) => a