sig   type state = Ketrew_pure.Target.State.t   type item = private {     time : float;     simple : Ketrew_pure.Target.State.simple;     name : string;     message : string option;     more_info : string list;     finished : bool;     depth : int;   }   val item_to_yojson : Ketrew_pure.Target.State.Flat.item -> Yojson.Safe.json   val item_of_yojson :     Yojson.Safe.json ->     Ketrew_pure.Target.State.Flat.item Ppx_deriving_yojson_runtime.error_or   val time : Ketrew_pure.Target.State.Flat.item -> float   val simple :     Ketrew_pure.Target.State.Flat.item -> Ketrew_pure.Target.State.simple   val name : Ketrew_pure.Target.State.Flat.item -> string   val message : Ketrew_pure.Target.State.Flat.item -> string option   val more_info : Ketrew_pure.Target.State.Flat.item -> string list   val finished : Ketrew_pure.Target.State.Flat.item -> bool   type t = private { history : Ketrew_pure.Target.State.Flat.item list; }   val to_yojson : Ketrew_pure.Target.State.Flat.t -> Yojson.Safe.json   val of_yojson :     Yojson.Safe.json ->     Ketrew_pure.Target.State.Flat.t Ppx_deriving_yojson_runtime.error_or   val empty : unit -> Ketrew_pure.Target.State.Flat.t   val of_state :     Ketrew_pure.Target.State.Flat.state -> Ketrew_pure.Target.State.Flat.t   val history :     Ketrew_pure.Target.State.Flat.t ->     Ketrew_pure.Target.State.Flat.item list   val latest :     Ketrew_pure.Target.State.Flat.t ->     Ketrew_pure.Target.State.Flat.item option   val since :     Ketrew_pure.Target.State.Flat.t ->     float -> Ketrew_pure.Target.State.Flat.t option   val merge :     Ketrew_pure.Target.State.Flat.t ->     Ketrew_pure.Target.State.Flat.t -> Ketrew_pure.Target.State.Flat.t end