sig
type store
val make_store : unit -> NegativeUnits.store
val null_store : NegativeUnits.store
val insert : NegativeUnits.store -> Fact.fact -> unit
val lookup : NegativeUnits.store -> Fact.fact -> Fact.fact
val iter_all : (Fact.fact -> unit) -> NegativeUnits.store -> unit
val clear : NegativeUnits.store -> unit
type state
val obtain_state : NegativeUnits.store -> NegativeUnits.state
val install_state : NegativeUnits.state -> unit
val add_layer : NegativeUnits.state -> NegativeUnits.state
end