(define (add-to-bst n s bstree) (cond [(= n (node-ssn bstree)) bstree] [(> n (node-ssn bstree)) (cond [(boolean? (node-right bstree)) (make-node (node-ssn bstree) (node-name bstree) (node-left bstree) (make-node n s false false))] [else (make-node (node-ssn bstree) (node-name bstree) (node-left bstree) (add-to-bst n s (node-right bstree)))])] [(< n (node-ssn bstree)) (cond [(boolean? (node-left bstree)) (make-node (node-ssn bstree) (node-name bstree) (make-node n s false false) (node-right bstree))] [else (make-node (node-ssn bstree) (node-name bstree) (add-to-bst n s (node-left bstree)) (node-right bstree))])]))