; b : int; };; type 'a pairs = { a : 'a; b : int; } # type 'a tree = None | Node of ('a * 'a tree * 'a tree);; type 'a tree = None | Node of ('a * 'a tree * 'a tree) # Node(10, Node(20, None, None), Node(30, None, None));; - : int tree = Node (10, Node (20, None, None), Node (30, None, None)) # 多相型レコード 多相型バリアントで バイナリツリー 10 20 30