
One can look at it this way -- the breakage is a fixed, one-time cost, whereas the confusion has a running cost.
It's not necessarily that simple. Breaking old code can also breaks all the tutorials, articles, and documentation scattered all over the Internet. That cost could last a long time. AFAIK Haskell hasn't done anything so drastic as to change the existing syntax, except to _remove_ things that were already strongly discouraged like n+k. It will also introduce confusion of a different kind, as programmers will find it strange that their formerly correct code code having suddenly changed semantics. Personally I look forward to having to waste fewer keystrokes on the dreaded import list. Having to explicitly write 'qualified' in acrowley's syntax would be less desirable, though still an overall improvement from the current state of things.