Control.ConstraintManip

class (c1 &&& c2) a

class And c1 c2 a

data Arg n

data Result n

type family GetArg t a where ...

class IxIs i t a

class IxEqual i1 i2 a

class IxConstrainBy i c a

class IxConstrainPair c i1 i2 a

class IxConstructorEqual i1 f i2 a

class IxConstraintedConstructorEqual i1 c f i2 a