Hi Max, <div><br></div><div>thanks for you proposal!<br><br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">Using the Applicative methods to optimise "do" desugaring is still</div>
possible, it's just not that easy to have that weaken the generated<br>
constraint from Monad to Applicative since only degenerate programs<br>
like this one won't use a Monad method:<br></blockquote><div><br></div><div>Is this still true, once Monad is a subclass of Applicative which defines return?</div><div><br></div><div>I'd still somewhat prefer if return get's merged with the preceding statement so sometimes only a Functor constraint is generated but I think, I should adjust your desugaring then..</div>
<div><br></div><div>Sebastian</div></div><br></div>