functor   (P : sig class printer : unit -> Printer_api.extensible_printer_type end->   Printer_api.S