Bookkeeper.Internal

type Book a

data Book' a

emptyBook

type a :=> b

data Key a

get

(?:)

set

(=:)

modify

(%:)

delete

Mapping

type family MapThere (f :: Type -> Type) (map :: [Mapping Symbol Type]) where ...

type family MapBack f (map :: [Mapping Symbol Type]) where ...

class Mappable f a b

class MapMap f map

data ChooseFirst a