(* This type defines a tree. * Each node has a value of type 'a, * and it can have any number of childs (subtrees). *) type 'a tree = Node of 'a * ('a tree list)