sig
  val add : 'Type.t -> '-> string -> unit
  exception Name_already_exists of string
  val add_once : 'Type.t -> '-> string -> unit
end