Hi, I've reading Control.Monad.Reader source code and arrived here: class (Monad m) => MonadReader r m | m -> r where I can't understand that syntax. Since this is not a 'data' line, what is the '|' supposed mean? Thanks, Maurício