&quot;1) What about the First type? Do we {-# DEPRECATE #-} it?&quot;<br><br>Personnaly, I&#39;m in favor of following the same logic than Int:<br>Int itself is <b>not </b>a monoid. You have to be specific: it&#39;s either Sum or Mult.<br>

<br>It should be the same for Maybe: we remove its instance of Monoid, and we only use First and Last.<br><br><div class="gmail_quote">2011/12/16 Bas van Dijk <span dir="ltr">&lt;<a href="mailto:v.dijk.bas@gmail.com">v.dijk.bas@gmail.com</a>&gt;</span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="im">On 16 December 2011 05:26, Brent Yorgey &lt;<a href="mailto:byorgey@seas.upenn.edu">byorgey@seas.upenn.edu</a>&gt; wrote:<br>


&gt; I, for one, would be<br>
&gt; quite in favor of changing the current Monoid (Maybe a) instance to<br>
&gt; correspond to the failure-and-prioritized-choice semantics<br>
<br>
</div>So lets do this. Some questions:<br>
<br>
1) What about the First type? Do we {-# DEPRECATE #-} it?<br>
<br>
2) What about the Last type? It could be deprecated in favor of Dual.<br>
<br>
3) Do we need a new type (like the current Maybe) for lifting<br>
semigroups into a Monoid? IMHO we don&#39;t since the semigroup package<br>
does a better job with the Option type (like Brent mentioned).<br>
<br>
4) How much code will break from this change?<br>
<br>
5) Anyone up for proposing this to <a href="mailto:libraries@haskell.org">libraries@haskell.org</a>?<br>
<br>
Regards,<br>
<br>
Bas<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
Haskell-Cafe mailing list<br>
<a href="mailto:Haskell-Cafe@haskell.org">Haskell-Cafe@haskell.org</a><br>
<a href="http://www.haskell.org/mailman/listinfo/haskell-cafe" target="_blank">http://www.haskell.org/mailman/listinfo/haskell-cafe</a><br>
</div></div></blockquote></div><br>