Hi,<br><br>I've got an object model that I have a difficult time conceptualising how it might look like in Haskell:<br><br>class Element { }<br><br>class Inline : Element { }<br><br>class ParentInline : Inline {<br>&nbsp;&nbsp; List&lt;Inline&gt; children;
<br>}<br><br>class Bold : ParentInline { }<br>class Underline : ParentInline { }<br><br>class Link : ParentInline {<br>&nbsp;&nbsp; String link;<br>}<br><br>class Text : Inline {<br>&nbsp;&nbsp; String text;<br>}<br><br>class Block : Element { }
<br><br>class Paragraph : Block {<br>&nbsp;&nbsp; List&lt;Inline&gt; paragraph;<br>}<br><br>class Heading : Block {<br>&nbsp;&nbsp; List&lt;Inline&gt; heading;<br>}<br><br>class Document : Element {<br>&nbsp;&nbsp; List&lt;Block&gt; blocks;<br>}<br>
<br>How best to represent this OO data model in Haskell?<br><br>Thanks<br><br>-John<br><br>