sig
  type 'a t
  type 'a accessor =
      < fold : 'acc. ('-> 'acc -> 'acc) -> 'acc -> 'acc; mem : '-> bool >
  val create :
    string ->
    'Type.t ->
    register:bool ->
    State.t list -> 'Parameter_category.accessor -> 'Parameter_category.t
  val copy_and_rename :
    string ->
    register:bool -> 'Parameter_category.t -> 'Parameter_category.t
  val use : State.t -> 'Parameter_category.t -> unit
  val get_name : 'Parameter_category.t -> string
  val get_fold :
    'Parameter_category.t -> ('-> 'acc -> 'acc) -> 'acc -> 'acc
  val get_mem : 'Parameter_category.t -> '-> bool
end