<div dir="ltr">I'm using the yesod-markdown package as a "template" for making my own yesod-mathjax package.  I'm pretty much done, and it does compile now, but I'm just really confused by a type that looks like bad syntax.  In fact, I ended up trying to "fix" it, which lead to errors:<div>
<br></div><div><pre style="color:rgb(0,0,0)"><font face="courier new, monospace"><span class="">mathJaxField</span> <span class="" style="color:red">::</span> <span class="">Monad</span> <span class="">m</span> </font></pre>
<pre style="color:rgb(0,0,0)"><font face="courier new, monospace"><span class="" style="color:red">             =></span> <span class="">RenderMessage</span> <span class="" style="color:red">(</span><span class="">HandlerSite</span> <span class="">m</span><span class="" style="color:red">)</span> <span class="">FormMessage</span> </font></pre>
<pre style="color:rgb(0,0,0)"><font face="courier new, monospace"><span class="" style="color:red">             =></span> <span class="">Field</span> <span class="">m</span> <span class="">MathJax</span></font></pre><pre style="color:rgb(0,0,0)">
<span class=""><br></span></pre><pre style="color:rgb(0,0,0)"><span class=""><font face="arial, helvetica, sans-serif">Notice that there are two type arrows (=>).  Interestingly,</font></span></pre><pre style="color:rgb(0,0,0)">
<span class=""><font face="arial, helvetica, sans-serif"><br></font></span></pre><pre style="color:rgb(0,0,0)"><span class=""><pre><font face="courier new, monospace"><span class="">mathJaxField</span> <span class="" style="color:red">::</span> ( <span class="">Monad</span> <span class="">m</span> </font></pre>
<pre><font face="courier new, monospace"><span class="" style="color:red">                ,</span> <span class="">RenderMessage</span> <span class="" style="color:red">(</span><span class="">HandlerSite</span> <span class="">m</span><span class="" style="color:red">)</span> <span class="">FormMessage</span></font></pre>
<pre><font face="courier new, monospace"><span class="">                )</span></font><span class="" style="font-family:'courier new',monospace;color:red"> =></span><span style="font-family:'courier new',monospace"> </span><span class="" style="font-family:'courier new',monospace">Field</span><span style="font-family:'courier new',monospace"> </span><span class="" style="font-family:'courier new',monospace">m</span><span style="font-family:'courier new',monospace"> </span><span class="" style="font-family:'courier new',monospace">MathJax</span></pre>
<pre><span class="" style="font-family:'courier new',monospace"><br></span></pre><pre><font face="arial, helvetica, sans-serif">compiles too.  So it looks like currying/uncurrying, at the type level.  But when did this start?  I'm using GHC 7.6.3</font></pre>
</span></pre></div></div>