sig
  val x : int
  val y : < m : 'a. '-> 'a list >
  type t = Int | Float
  type r = { offset : int; blocksize : int; }
end