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 &quot;do&quot; desugaring is still</div>

possible, it&#39;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&#39;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&#39;d still somewhat prefer if return get&#39;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>