1Input input.ml /^(* "let rec ... and ..." *)$/;" module 2f input.ml /^let rec f x = (g x) + 1$/;" function 3g input.ml /^and g x = (f x) - 1$/;" function 4A input.ml /^module rec A : sig$/;" module 5t input.ml /^ type t = Leaf of string | Node of ASet.t$/;" type module:A 6Leaf input.ml /^ type t = Leaf of string | Node of ASet.t$/;" Constructor type:A/t 7Node input.ml /^ type t = Leaf of string | Node of ASet.t$/;" Constructor type:A/t 8compare input.ml /^ val compare: t -> t -> int$/;" val type:A/t 9t input.ml /^ type t = Leaf of string | Node of ASet.t$/;" type module:A 10Leaf input.ml /^ type t = Leaf of string | Node of ASet.t$/;" Constructor type:A/t 11Node input.ml /^ type t = Leaf of string | Node of ASet.t$/;" Constructor type:A/t 12compare input.ml /^ let compare t1 t2 =$/;" function module:A 13ASet input.ml /^ and ASet : Set.S with type elt = A.t$/;" module 14elt input.ml /^ and ASet : Set.S with type elt = A.t$/;" type 15