Data.Reproject

class Proj label ty

data Projection t a

type family HasProj (a :: [Symbol]) t = (r :: Constraint) where ...

proj

projVal

(@@)

Type lifting

data AnyProj t

data AnyRec t

runAnyProj

anyToTypedProj

anyToTypedProjM

Internal helpers

data LblProxy t

class ReadRec label eq r v

type family RecValTy label (t :: *) (lbls :: [Symbol]) where ...

type family IsEqLabel (label :: Symbol) (label2 :: Symbol) = (r :: Bool) where ...

data Rec t labels