functor (M : sig type t val module_name : string val to_string : Pretty_printer.Register.t -> string end) -> sig val pp : Format.formatter -> M.t -> unit end