sig
  val create_and_add_state :
    clear:(Project.t -> unit) -> name:string -> deps:State.t list -> State.t
  val add_state : State.t -> unit
  val remove_state : reset:bool -> State.t -> unit
  val self : State.t Pervasives.ref
  val internal_kind : State.kind
end