sig
  type t
  val from_protobuf : Protobuf.Decoder.t -> Model_intf.EVENTS.t
  val to_protobuf : Model_intf.EVENTS.t -> Protobuf.Encoder.t -> unit
  module Event : EVENT
  val pp : Format.formatter -> Model_intf.EVENTS.t -> unit
  val show : Model_intf.EVENTS.t -> string
  val is_empty : t -> bool
  val join : t -> t -> t
  val empty : t
  val of_list : Event.t list -> t
  val to_list : t -> Event.t list
  val subsets : t -> t list
end