Monad definition (not sure it's correct, but we'll see... :-)