Personally I'm not convinced by the motivation for deprecating '*': "GHC's ability to parse *
has a significant cost.". There are two kinds of cost here:
1. implementation complexity
2. potential for users to be confused
for (1), Haskell historically has not made concessions in the name of implementation simplicity, other concerns have tended to rate more highly: familiarity, conciseness, consistency, ease of use and so forth. (for an example of this tradeoff in action just look at the layout rule).
for (2), I think even though we strive for consistency in language design, humans actually cope with exceptions very well - a few quirks here and there actually help us remember things. So the current situation isn't terrible, in my view.
Furthermore in this case we're also fighting inertia: there's a lot of code, documentation and other materials using the existing syntax.
Perhaps '*' wouldn't be what we would choose if we had a clean slate, but at this point I think changing it is likely worse than not changing it.