Control.Ether.Abbr

data tag --> r

data tag <-- w

data tag <-> s

data tag -!- e

type family Ether (abbrs :: [*]) m :: Constraint where ...

type family ReifyAbbr (abbr :: *) (m :: * -> *) :: Constraint