<div dir="ltr"><div><font face="monospace">> :t Just True<br>Just True :: Maybe Bool<br>> :t Left True<br>Left True :: Either Bool b<br></font></div><div><font face="monospace">> :t Right False</font></div><div><font face="monospace">Right False :: Either a Bool<br></font></div><div><br></div><div>What am I being told here? It seems </div><div><br></div><div><font face="monospace">data Maybe a = Just a<br>             | Nothing<br>data Either a b = Left a<br>                | Right b<br></font></div><div><br></div><div>are both straightforward parameterized types, but <font face="monospace">Maybe</font> doesn't give me a type parameter back, while <font face="monospace">Either </font>does, and in different order, different names (a becomes b; b becomes a) depending on which variable I invoke. What deeper lore am I not seeing here?</div><div><br></div><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div>⨽<br></div>Lawrence Bottorff<div>Grand Marais, MN, USA</div><div><a href="mailto:borgauf@gmail.com" target="_blank">borgauf@gmail.com</a></div></div></div></div>