module Data.ECTA.Paths (
Path(EmptyPath, ConsPath)
, unPath
, path
, Pathable(..)
, pathHeadUnsafe
, pathTailUnsafe
, isSubpath
, PathTrie(TerminalPathTrie)
, isEmptyPathTrie
, isTerminalPathTrie
, getMaxNonemptyIndex
, toPathTrie
, fromPathTrie
, pathTrieDescend
, PathEClass(getPathTrie)
, unPathEClass
, hasSubsumingMember
, completedSubsumptionOrdering
, EqConstraints(EmptyConstraints)
, unsafeGetEclasses
, mkEqConstraints
, combineEqConstraints
, eqConstraintsDescend
, constraintsAreContradictory
, constraintsImply
, subsumptionOrderedEclasses
, unsafeSubsumptionOrderedEclasses
) where
import Data.ECTA.Internal.Paths