functor (M : S->
  sig val of_string : string -> M.t val to_string : M.t -> string end