I was taking a look at the megaparsec
library and noticed that a class is defined as
class (Stream s, A.Alternative m, MonadPlus m)
=> MonadParsec e s m | m -> e s where
I know that I am creating a type class named MonadParsec, but what does | m -> e s
mean exactly?