type 'a btree = Empty | Leaf | Node of ('a btree * 'a * 'a btree) let rec add x t = match t with | Empty -> Leaf | Leaf -> Node(Leaf, x, Leaf) | Node (a, b, c) -> if x < b then Node(add x a, b, c) else if x >b then Node(a, b, add x c) else t ;; Read_numbers_from_file.get_filename