(* TEST *)

(* mixing values and closures may exercise interesting code paths *)
type t = A of (int -> int)
let test =
  let rec x = A f
  and f = function
    | 0 -> 2
    | n -> match x with A g -> g 0
  in assert (f 1 = 2)
