# Functor Pretty_printer.Register

    module Register: functor (M : sig
    type t

    val module_name : string
    val to_string : t -> stringend) -> S  with type t := M.t

`Register` builds a `pp` function from a `to_string` function, and adds the `module_name ^ ".pp"` to the list of pretty printers. The idea is to statically guarantee that one has the desired `pp` function at the same point where the `name` is added.

Parameters:

`M` | : | `sig type t val module_name : string val to_string : t -> string end`

    type t

    val pp : Format.formatter -> t -> unit