One interesting question about the Haskell Report is if we should
generalize the following translation:
do {e;stmts}=e >> do {stmts}
to:
do {e;stmts}=e *> do {stmts}
There are other situations where one can desugar to just applicatives that I wouldn't mind seeing. But they of course haven't been implemented anywhere.
For instance, the comprehension:
[ e1 | x <- e2, y <- e3, ... ]
can be translated to:
(\x y ... -> e1) <$> e2 <*> ...
so long as x, y ... aren't free in e2, e3 ....
I don't think any of this should be considered until the details have been worked out and implemented, of course.