anchor.diff:              elif tree.Left <> None && tree.Right <> None then
                   // Locate successor
                   let predicate = (fun elem -> elem = tree.Value)
  -                let traversal = in_order_traversal tree // Some weird bug error here?
  -                None
  -                (*
  +                let traversal = in_order_traversal (Some tree)
                   match List.tryFind predicate traversal with
                   | Some successor ->
                       // Recursion on the rest of the subtree
                       Some { tree with Value = successor
                                        Right = delete successor tree.Right }
  -                    ()
                   | None ->
                       printfn "Failed to locate successor of %A" tree.Value
                       None
  -                    ()*)
  -                //None
               elif tree.Left <> None then
                   // Replace tree with left subtree
                   tree.Left
  
positive.code:         |> insert 16
          |> insert 2
          |> insert 7
  
      List.iter (fun elem -> printfn "%A" elem) <| in_order_traversal tree
      0
  
negative.code: 
  (*
  Delete operation
  Complexity: O(n log n)
  *)
  let rec delete value tree : BST<'a> Option =
      match tree with
  