Because, a lot of the convenience and ergonomics that we can derive using these abstractions comes from being able to rely on the laws. Without them, they are just not really useful.
And when looking at the examples, I can totally see that someone reads
> That's all Monad is. It is an implementation of some "method" that conforms to that interface specification.
and then makes "Set" or "HashMap" implement the interface unlawful and bad things happen when they are least expected.