(* SET of Int New: --> SET Insert: SET x int --> SET remove: SET x int --> SET member: SET x int --> boolean *) datatype IntSet = New | Insert of IntSet * int ; fun member ( New, i ) = false | member ( Insert(s,j), i ) = if i=j then true else member(s,i) ; fun remove ( New, i ) = New | remove ( Insert(s,j), i ) = if i=j then remove(s,i) else Insert( remove(s,i), j) ; (* fun eq ( New, New ) = true | eq ( New, Insert(S,i) ) = false | eq ( Insert(S,i), New ) = false | eq ( Insert(S,i), Insert(R,j) ) = if (i=j) then eq(remove(S,i),remove(R,j)) else (* more cases here *) *) (* also try adding a function "size" to tell you how many elements have been added to a set size: SET --> int *)