;; open Assert type tree = | Empty | Node of tree * int * tree let t : tree = Node ( Node (Empty , 2 , Empty ) , 1 , Node (Empty , 3 , Empty ) ) let rec size ( t : tree ) : int = begin match t with | Empty -> 0 | Node ( l , v , r ) -> 1 + size l + size r end let test () : bool = size t = 3 ;; run_test "size t" test