Data.HVect

typesafe strict vector

data HVect ts

empty

null

head

tail

singleton

length

type family HVectLen ts :: Nat

(!!)

type family HVectIdx n ts :: *

type family HVectElim ts a :: *

type family Append as bs :: [*]

(<++>)

type family ReverseLoop as bs :: [*]

type Reverse as

reverse

uncurry

data Rep ts

class HasRep ts

curryExpl

curry

packExpl

pack

type level numeric utilities

data Nat

data SNat n

sNatToInt

intToSNat

data AnySNat

type family m :< n :: Bool