Kappa_runtime.ReplayUtilities to make mixtures from traces
type state = {graph : Kappa_site_graphs.Edges.t;time : float;event : int;connected_components : Kappa_site_graphs.Agent.SetMap.Set.t
                         Kappa_data_structures.Mods.IntMap.t
                         option;}val init_state : with_connected_components:bool -> stateval do_step : 
  Kappa_site_graphs.Signature.s ->
  state ->
  Trace.step ->
  state * summaryval is_step_triggerable : state -> Trace.step -> booldetermines whether or not a step can be applied from a given state.
val is_step_triggerable_on_edges : 
  Kappa_site_graphs.Edges.t ->
  Trace.step ->
  boolsame function but takes a graph of type Edges.t directly.
val tests_pass_on : 
  Kappa_site_graphs.Edges.t ->
  Kappa_terms.Instantiation.concrete Kappa_terms.Instantiation.test list list ->
  boolexported for convenience.
val cc_of_state : 
  debug_mode:bool ->
  state ->
  Kappa_terms.Pattern.PreEnv.t ->
  Kappa_terms.Pattern.PreEnv.t
  * ((int * int) list * Kappa_terms.Pattern.cc * Kappa_terms.Pattern.id) list