Data.TypeMap.Static
type family Index (a :: k) (d :: [(k, *)]) where ...
type family Lookup (a :: k) (d :: [(k, *)]) where ...
type family Last (d :: [k]) where ...
type family Init (d :: [k]) where ...