functor BTREE() = struct datatype 'a Tree = Lf | Nd of 'a Tree * 'a * 'a Tree end