Safe HaskellSafe-Inferred

TypeOperators

Documentation

data a :-: b

data (a :+: b) c

data Op a b

newtype O g f a

Constructors

O 

Fields

unO :: g (f a)
 

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