Module Genprintval

module type OBJ = sig ... end
module type EVALPATH = sig ... end
type (!'a, !'b) gen_printer =
  1. | Zero of 'b
  2. | Succ of 'a -> ('a, 'b) gen_printer
module type S = sig ... end
module Make (O : OBJ) (_ : sig ... end) : sig ... end