The monad laws in the report are an aid to understanding the
relationships between the monadic functions. I don't think any
Haskell compiler attempts to optimize method calls based on laws (or
whatever you want to call them) that would constrain the behavior of
all instances of a particular class. The report states that new
monadic instances `should' obey the given laws, but only at the
expense of confusing users.
The next report could certainly add or modify these laws to make this
section clearer.
John