Or with Option:
    
    
    proc searchTree*[T](leaf: Tree[T], searchFor: T): Option[Tree[T]] =
      result =
        if leaf.isNil(): none Tree[T]
        elif leaf.item == searchFor: some leaf
        elif searchFor < leaf.item:
          some searchTree(leaf.left, searchFor)
        else:
          some searchTree(leaf.right, searchFor)
    
    
    Run

Reply via email to