title: Adding a leaf to Binary Search Tree, Haskell
body: <p>The type is defined as </p>
  
  <pre><code>data BST = MakeNode BST String BST
            | Empty
  </code></pre>
  
  <p>I'm trying to add a new leaf to the tree, but I don't really understand how to do it with recursion. </p>
  
  <p>the function is set up like this</p>
  
  <pre><code>add :: String -&gt; BST -&gt; BST
  </code></pre>