There is a bit of a knee-jerk reaction that we should go to something simpler than Monad as a superclass constraint for MonadFail, but I think most of those reasons fall apart or at least lose much of their weight upon deeper inspection.
Ultimately, I'm a not concerned about interactions between ApplicativeDo notation and fail.
Any automatic desugaring into 'fail' will be in a context which is necessarily incurring a monad constraint.
E.g.
do
Just x <- m
...
has to pick up the Monad constraint anyways to deal with the binding!
This leaves only code that does something like.
foo = x <*> fail y
which is hand written to invoke fail.
Given that the entire "tree" of the Applicative" is available for inspection and that that fail can't depend on any context internal to the Applicative and remain 'just Applicative' I have a hard time foreseeing any real applications lost by continuing to assume a context of:
class Monad m => MonadFail m
and there is a lot of value in the simple context.
Most of the value in ApplicativeDo notation comes from the opportunities for increased parallelism, not so much from the reduced constraints on the resulting code, and as we can see above, it'll never arise during the desguaring in a place that wouldn't incur a Monad constraint anyways.
Even getting rid of the Monad constraint w/ ApplicativeDo is going to require gymnastics around `return`.
-Edward
P.S. On an unrelated note, for the record, I'm very strongly +1 on a MonadFail instance for IO. There we use throwIO explicitly, so it is even able to be handled and caught locally. The set of things you can do in IO is large enough to support and reason about explicit failure.
P.P.S. I think if we extend the proposal to include an explicit member of the class for pattern match failure with the code we currently have lurking in the compiler for producing the string from the context, then most of the concerns raised by folks who would prefer to use a heavier weight -- but vastly harder to standardize -- exception mechanism would also be addressed in practice.