sig
  type 'a t
  type 'a with_init_args = 'a
  val cps_create : f:('a t -> 'b) -> 'b with_init_args
  val touch : 'a t -> '-> 'a list
  val remove : 'a t -> '-> unit
  val clear : 'a t -> unit
end