module Data.Relation.Internal ( Relation(..) ) where import qualified Data.Map as M import qualified Data.Set as S -- | -- Representation of a relation on ordered (@Ord@) values data Relation a b = Relation { domain :: M.Map a (S.Set b) , range :: M.Map b (S.Set a) } deriving (Show, Eq, Ord)