Data.Extensible.Internal

Membership

data Membership xs x

getMemberId

mkMembership

reifyMembership

runMembership

compareMembership

impossibleMembership

Member class

class Member xs x

remember

type x xs

type family FindType (x :: k) (xs :: [k]) :: [Nat] where ...

Association

data Assoc k v

type (>:)

class Associate k v xs

type family FindAssoc (key :: k) (xs :: [Assoc k v]) where ...

Sugar

type family Elaborate (key :: k) (xs :: [v]) :: Elaborated k v where ...

data Elaborated k v

Tree navigation

data NavHere xs x

here

navNext

Miscellaneous

data Nat

class KnownPosition n

type family Succ (x :: Nat) :: Nat where ...

type family Head (xs :: [k]) :: k where ...

type family Last (x :: [k]) :: k where ...