{-# LANGUAGE StandaloneKindSignatures #-} module Data.Type.Multiplicity ( AddMult, Mult(..) ) where -------------------------------------------------------------------------------- data Mult = None | One | Many type AddMult :: Mult -> Mult -> Mult type family AddMult m1 m2 where AddMult None m = m AddMult m None = m AddMult _ _ = Many