<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><o:smarttagtype namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="place"><div class="Section1"><p class="MsoNormal" style="text-autospace:none"><b><font size="2" color="#0000c4" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;; color:#0000C4;font-weight:bold">module</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;; color:black"> <st1:place w:st="on">Main</st1:place> </span></font><b><font size="2" color="#0000c4" face="Courier New"><span style="font-size:10.0pt; font-family:&quot;Courier New&quot;;color:#0000C4;font-weight:bold">where</span></font></b><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><o:p></o:p></span></font></p><p class="MsoNormal" style="text-autospace:none"><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><o:p> </o:p></span></font></p><p class="MsoNormal" style="text-autospace:none"><b><font size="2" color="#0000c4" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;; color:#0000C4;font-weight:bold">data</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;; color:black"> SquareType numberType = Num numberType =&gt; SquareConstructor numberType</span></font><font size="2" face="Courier New"><span style="font-size: 10.0pt;font-family:&quot;Courier New&quot;"><o:p></o:p></span></font></p><p class="MsoNormal" style="text-autospace:none"><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><o:p> </o:p></span></font></p><p class="MsoNormal" style="text-autospace:none"><b><font size="2" color="#0000c4" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;; color:#0000C4;font-weight:bold">class</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;; color:black"> ShapeInterface shape </span></font><b><font size="2" color="#0000c4" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;; color:#0000C4;font-weight:bold">where</span></font></b><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><o:p></o:p></span></font></p><p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;; color:black">      area :: Num numberType =&gt; shape</span></font><b><font size="2" color="#0000c4" face="Courier New"><span style="font-size:10.0pt; font-family:&quot;Courier New&quot;;color:#0000C4;font-weight:bold">-&gt;</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family: &quot;Courier New&quot;;color:black">numberType</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><o:p></o:p></span></font></p><p class="MsoNormal" style="text-autospace:none"><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><o:p> </o:p></span></font></p><p class="MsoNormal" style="text-autospace:none"><b><font size="2" color="#0000c4" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;; color:#0000C4;font-weight:bold">data</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;; color:black"> ShapeType = forall a. ShapeInterface a =&gt; ShapeType a</span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><o:p></o:p></span></font></p><p class="MsoNormal" style="text-autospace:none"><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><o:p> </o:p></span></font></p><p class="MsoNormal" style="text-autospace:none"><b><font size="2" color="#0000c4" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;; color:#0000C4;font-weight:bold">instance</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;; color:black"> (Num a) =&gt; ShapeInterface (SquareType a) </span></font><b><font size="2" color="#0000c4" face="Courier New"><span style="font-size:10.0pt; font-family:&quot;Courier New&quot;;color:#0000C4;font-weight:bold">where</span></font></b><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family: &quot;Courier New&quot;;color:black"> </span></font><font size="2" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;"><o:p></o:p></span></font></p><p class="MsoNormal" style="text-autospace:none"><font size="2" color="black" face="Courier New"><span style="font-size:10.0pt;font-family:&quot;Courier New&quot;; color:black">    area (SquareConstructor side) = side * side</span></font></p></div></o:smarttagtype></blockquote></div><div>Awesome! That's the first e-mail I see that looks good in HTML!</div></body></html>