sig
  type 'a t = {
    story_id : int;
    story_time : float;
    story_event : int;
    profiling_info : 'a;
  }
  val compare_by_story_id :
    'a Trace.Simulation_info.t -> 'a Trace.Simulation_info.t -> int
  val update_profiling_info :
    'a -> 'b Trace.Simulation_info.t -> 'a Trace.Simulation_info.t
  val event : 'a Trace.Simulation_info.t -> int
  val story_id : 'a Trace.Simulation_info.t -> int
  val to_json :
    ('a -> Yojson.Basic.json) ->
    'a Trace.Simulation_info.t -> Yojson.Basic.json
  val of_json :
    (Yojson.Basic.json -> 'a) ->
    Yojson.Basic.json -> 'a Trace.Simulation_info.t
end