datatype 'a btree = T of 'a btree * 'a btree | Leaf of 'a; infix 2 T; fun printTree(Leaf(x)) = print(Int.toString(x)) | printTree(t1 T t2) = ( print("("); printTree(t1); print(","); printTree(t2); print(")") ); val t = Leaf(1) T Leaf(2) T Leaf(3); printTree(t); val t = Leaf(1) T (Leaf(2) T Leaf(3) T (Leaf(4) T Leaf(5))); printTree(t);