Parameter Make._

val module_name : string

The module name is used for error messages only.

val invariant : string -> bool

This is the validation function that should be run on the untrusted input string. Return true on valid input.

By construction, invariant t = true is an invariant of any value of type t, since it is verified during of_string _.