Module Binary_search_tree

module Binary_search_tree: sig .. end

module type BSTPassThruFields = sig .. end
module type InputBST = sig .. end
module type BST = sig .. end
module Make: 
functor (Ord : Ord.S) ->
functor (Base : InputBST with type comparable := Ord.t) -> sig .. end
module BinarySearchTree: 
functor (Ord : Ord.S) -> Make(Ord)(sig
type t = 
| Empty
| Node of {
   value : Ord.t;
   left : t;
   right : t;
}
val empty_tree : t
val left : t ->
t
val right : t ->
t
val value : t -> Ord.t
val insert : t ->
Ord.t -> t
end)