(* Represent a set as a binary search tree (BST). This is a binary tree in which for every node Node(l,v,r), all values in l are < v and all values in r are > v. *) module BSTSet : SET = struct open Bintree type 'a set = 'a bintree let empty = Leaf let singleton x = Node(Leaf, x, Leaf) let rec insert x s = Leaf (* Replace this stub *) let rec delete x s = Leaf (* Replace this stub *) let rec member x s = false (* Replace this stub *) let rec toList s = [] (* Replace this stub *) let rec union s1 s2 = Leaf (* Replace this stub *) let rec intersection s1 s2 = Leaf (* Replace this stub *) let rec difference s1 s2 = Leaf (* Replace this stub *) let rec fromList xs = Leaf (* Replace this stub *) let rec toSexp eltToSexp s = Sexp.Seq [] let rec fromSexp eltFromSexp sexp = empty let toString eltToString s = "*" (* Replace this stub *) end