<div dir="ltr">I don&#39;t really understand what a &quot;newclass&quot; is supposed to be.<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Oct 3, 2013 at 2:15 PM, Wvv <span dir="ltr">&lt;<a href="mailto:vitea3v@rambler.ru" target="_blank">vitea3v@rambler.ru</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
    newclass Bind a =&gt; Monad a =&gt; BMonad a where { (&gt;&gt;=) = (&gt;&gt;-) }</blockquote><div><br></div><div>I think this means that `BMonad` is supposed to be a new class that has both Bind and Monad in scope, the same as<br>
<br></div><div>  class (Bind a, Monad a) =&gt; BMonad a<br></div><div><br></div><div>except that the Monad instance&#39;s (&gt;&gt;=) is replaced by (&gt;&gt;-).<br><br></div><div>If that&#39;s what &quot;newclass&quot; means, it seems absolutely pointless.<br>
<br></div><div>Does it instead mean that one could write<br><br></div><div>  instance Bind MyType where<br><br></div><div>  instance BMonad MyType<br></div></div></div></div>