Numeric.Dimensions.List
type family (as :: [k]) ++ (bs :: [k]) :: [k] where ...
type a :+ as
type ns +: n
type Empty
type Cons n ns
type Snoc ns n
type family Head (xs :: [k]) :: k where ...
type family Tail (xs :: [k]) :: [k] where ...
type family Init (xs :: [k]) :: [k] where ...
type family Last (xs :: [k]) :: k where ...
type Concat as bs
type Reverse xs
type family Suffix (as :: [k]) (asbs :: [k]) :: [k] where ...
type family Prefix (bs :: [k]) (asbs :: [k]) :: [k] where ...
class ConcatList as bs asbs
class FiniteList xs
data TypeList xs
type ConcatEvidence as bs asbs
type FiniteListEvidence xs