-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Primitive heterogenous read-only set -- -- Primitive heterogenous read-only set @package hset @version 0.0.2 module Data.HSet.TypeLevel data Nat Z :: Nat S :: Nat -> Nat module Data.HSet -- | Heterogeneous set (list) of elements with unique types. Usefull with -- MonadReader data HSet (elems :: [*]) HSNil :: HSet '[] HSCons :: elem -> HSet elems -> HSet (elem : elems) class (i ~ (Index e els)) => HGet els e i -- | Get any data from HSet for you hget :: HGet els e i => HSet els -> e instance Data.HSet.HGet (e : els) e 'Data.HSet.TypeLevel.Z instance (i ~ Data.HSet.TypeLevel.Index e els, 'Data.HSet.TypeLevel.S i ~ Data.HSet.TypeLevel.Index e (e1 : els), Data.HSet.HGet els e i) => Data.HSet.HGet (e1 : els) e ('Data.HSet.TypeLevel.S i)