module type S = sig
  val x : int;;
  (* val y : int;; *)
  val f : bool -> int;;
  val another_name_for_y : int;;
end;;

module M : S = struct
  let x = 0;;
  let y = 42;;
  let another_name_for_y = y;;
  let f = fun b -> if b then 32 else y;;
end;;

