A quick correction: data Node a = Empty | ValueNode a (Node a) (Node a) or data Node a = Empty | ValueNode (a, (Node a), (Node a)) On Fri, Feb 24, 2012 at 1:16 PM, AbdulSattar Mohammed <codingtales at gmail.com> wrote: > {snip} > data Node = Empty > | ValueNode Int, Node, Node -- An integer, a left node and a right > node > {snip}