Type.Family.List

type Ø

type (:<)

type Only a

type family Null (as :: [k]) :: Bool where ...

nullCong

nilNotCons

type family (as :: [k]) ++ (bs :: [k]) :: [k] where ...

appendCong

type family Concat (ls :: [[k]]) :: [k] where ...

concatCong

type family (as :: [k]) >: (a :: k) :: [k] where ...

snocCong

type family Reverse (as :: [k]) :: [k] where ...

reverseCong

type family HeadM (as :: [k]) :: Maybe k where ...

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

type family TailM (as :: [k]) :: Maybe [k] where ...

type family Tail (as :: [k]) :: [k] where ...

type family InitM (as :: [k]) :: Maybe [k] where ...

type family Init (as :: [k]) :: [k] where ...

type family Init' (a :: k) (as :: [k]) :: [k] where ...

initCong

type family LastM (as :: [k]) :: Maybe k where ...

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

type family Last' (a :: k) (as :: [k]) :: k where ...

lastCong

type family ListC (cs :: [Constraint]) = (c :: Constraint) | c -> cs where ...

type family (f :: k -> l) <$> (a :: [k]) :: [l] where ...

listMapCong

type family (f :: [k -> l]) <&> (a :: k) :: [l] where ...

type family (f :: [k -> l]) <*> (a :: [k]) :: [l] where ...

type family Fsts (ps :: [(k, l)]) :: [k] where ...

type family Snds (ps :: [(k, l)]) :: [l] where ...

type family Zip (as :: [k]) (bs :: [l]) = (cs :: [(k, l)]) | cs -> as bs where ...

type family Fsts3 (ps :: [(k, l, m)]) :: [k] where ...

type family Snds3 (ps :: [(k, l, m)]) :: [l] where ...

type family Thds3 (ps :: [(k, l, m)]) :: [m] where ...