sig
  type 'a t = 'React.event
  val never : 'React.event
  val create : unit -> 'React.event * (?step:React.step -> '-> unit)
  val retain : 'React.event -> (unit -> unit) -> [ `R of unit -> unit ]
  val stop : ?strong:bool -> 'React.event -> unit
  val equal : 'React.event -> 'React.event -> bool
  val trace :
    ?iff:bool React.signal ->
    ('-> unit) -> 'React.event -> 'React.event
  val once : 'React.event -> 'React.event
  val drop_once : 'React.event -> 'React.event
  val app : ('-> 'b) React.event -> 'React.event -> 'React.event
  val map : ('-> 'b) -> 'React.event -> 'React.event
  val stamp : 'React.event -> '-> 'React.event
  val filter : ('-> bool) -> 'React.event -> 'React.event
  val fmap : ('-> 'b option) -> 'React.event -> 'React.event
  val diff : ('-> '-> 'b) -> 'React.event -> 'React.event
  val changes : ?eq:('-> '-> bool) -> 'React.event -> 'React.event
  val on : bool React.signal -> 'React.event -> 'React.event
  val when_ : bool React.signal -> 'React.event -> 'React.event
  val dismiss : 'React.event -> 'React.event -> 'React.event
  val until : 'React.event -> 'React.event -> 'React.event
  val accum : ('-> 'a) React.event -> '-> 'React.event
  val fold : ('-> '-> 'a) -> '-> 'React.event -> 'React.event
  val select : 'React.event list -> 'React.event
  val merge : ('-> '-> 'a) -> '-> 'React.event list -> 'React.event
  val switch : 'React.event -> 'React.event React.event -> 'React.event
  val fix : ('React.event -> 'React.event * 'b) -> 'b
  val l1 : ('-> 'b) -> 'React.event -> 'React.event
  val l2 :
    ('-> '-> 'c) -> 'React.event -> 'React.event -> 'React.event
  val l3 :
    ('-> '-> '-> 'd) ->
    'React.event -> 'React.event -> 'React.event -> 'React.event
  val l4 :
    ('-> '-> '-> '-> 'e) ->
    'React.event ->
    'React.event -> 'React.event -> 'React.event -> 'React.event
  val l5 :
    ('-> '-> '-> '-> '-> 'f) ->
    'React.event ->
    'React.event ->
    'React.event -> 'React.event -> 'React.event -> 'React.event
  val l6 :
    ('-> '-> '-> '-> '-> '-> 'g) ->
    'React.event ->
    'React.event ->
    'React.event ->
    'React.event -> 'React.event -> 'React.event -> 'React.event
  module Option :
    sig
      val some : 'React.event -> 'a option React.event
      val value :
        ?default:'React.signal -> 'a option React.event -> 'React.event
    end
end