packages feed

idris-0.9.17: test/reg059/reg059.idr

class Monad m => ContainerMonad (m : Type -> Type) where
    Elem : a -> m a -> Type
    tagElem : (mx : m a) -> m (x : a ** Elem x mx)

class Monad m => ContainerMonad2 a (m : Type -> Type) where
    Elem2 : a -> m a -> Type
    tagElem2 : (mx : m a) -> m (x : a ** Elem2 x mx)