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)