# Module String_id

    module String_id: sig .. end

Disallows whitespace around the edges in `of_string` and `t_of_sexp`, but doesn't check when reading from bin_io.

    module type S = sig .. end

    include String_id.S

    module Make: functor (M : sig
    val module_name : stringend) -> functor (* : sigend) -> S

`Make` customizes the error messages generated by `of_string`/`of_sexp` to include `module_name`.

    module Make_without_pretty_printer: functor (M : sig
    val module_name : stringend) -> functor (* : sigend) -> S

This does what `Make` does without registering a pretty printer.