sig   type 'a event   type 'a signal   type step   module E :     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   module S :     sig       type 'a t = 'React.signal       val const : '-> 'React.signal       val create :         ?eq:('-> '-> bool) ->         '-> 'React.signal * (?step:React.step -> '-> unit)       val value : 'React.signal -> 'a       val retain :         'React.signal -> (unit -> unit) -> [ `R of unit -> unit ]       val eq_fun : 'React.signal -> ('-> '-> bool) option       val stop : ?strong:bool -> 'React.signal -> unit       val equal :         ?eq:('-> '-> bool) -> 'React.signal -> 'React.signal -> bool       val trace :         ?iff:bool React.S.t ->         ('-> unit) -> 'React.signal -> 'React.signal       val hold :         ?eq:('-> '-> bool) -> '-> 'React.event -> 'React.signal       val app :         ?eq:('-> '-> bool) ->         ('-> 'b) React.signal -> 'React.signal -> 'React.signal       val map :         ?eq:('-> '-> bool) ->         ('-> 'b) -> 'React.signal -> 'React.signal       val filter :         ?eq:('-> '-> bool) ->         ('-> bool) -> '-> 'React.signal -> 'React.signal       val fmap :         ?eq:('-> '-> bool) ->         ('-> 'b option) -> '-> 'React.signal -> 'React.signal       val diff : ('-> '-> 'b) -> 'React.signal -> 'React.event       val changes : 'React.signal -> 'React.event       val sample :         ('-> '-> 'c) ->         'React.event -> 'React.signal -> 'React.event       val on :         ?eq:('-> '-> bool) ->         bool React.signal -> '-> 'React.signal -> 'React.signal       val when_ :         ?eq:('-> '-> bool) ->         bool React.signal -> '-> 'React.signal -> 'React.signal       val dismiss :         ?eq:('-> '-> bool) ->         'React.event -> '-> 'React.signal -> 'React.signal       val accum :         ?eq:('-> '-> bool) ->         ('-> 'a) React.event -> '-> 'React.signal       val fold :         ?eq:('-> '-> bool) ->         ('-> '-> 'a) -> '-> 'React.event -> 'React.signal       val merge :         ?eq:('-> '-> bool) ->         ('-> '-> 'a) -> '-> 'React.signal list -> 'React.signal       val switch :         ?eq:('-> '-> bool) ->         'React.signal React.signal -> 'React.signal       val bind :         ?eq:('-> '-> bool) ->         'React.signal -> ('-> 'React.signal) -> 'React.signal       val fix :         ?eq:('-> '-> bool) ->         '-> ('React.signal -> 'React.signal * 'b) -> 'b       val l1 :         ?eq:('-> '-> bool) ->         ('-> 'b) -> 'React.signal -> 'React.signal       val l2 :         ?eq:('-> '-> bool) ->         ('-> '-> 'c) ->         'React.signal -> 'React.signal -> 'React.signal       val l3 :         ?eq:('-> '-> bool) ->         ('-> '-> '-> 'd) ->         'React.signal ->         'React.signal -> 'React.signal -> 'React.signal       val l4 :         ?eq:('-> '-> bool) ->         ('-> '-> '-> '-> 'e) ->         'React.signal ->         'React.signal ->         'React.signal -> 'React.signal -> 'React.signal       val l5 :         ?eq:('-> '-> bool) ->         ('-> '-> '-> '-> '-> 'f) ->         'React.signal ->         'React.signal ->         'React.signal ->         'React.signal -> 'React.signal -> 'React.signal       val l6 :         ?eq:('-> '-> bool) ->         ('-> '-> '-> '-> '-> '-> 'g) ->         'React.signal ->         'React.signal ->         'React.signal ->         'React.signal ->         'React.signal -> 'React.signal -> 'React.signal       module Bool :         sig           val zero : bool React.signal           val one : bool React.signal           val not : bool React.signal -> bool React.signal           val ( && ) :             bool React.signal -> bool React.signal -> bool React.signal           val ( || ) :             bool React.signal -> bool React.signal -> bool React.signal           val edge : bool React.signal -> bool React.event           val rise : bool React.signal -> unit React.event           val fall : bool React.signal -> unit React.event           val flip : bool -> 'React.event -> bool React.signal         end       module Int :         sig           val zero : int React.signal           val one : int React.signal           val minus_one : int React.signal           val ( ~- ) : int React.signal -> int React.signal           val succ : int React.signal -> int React.signal           val pred : int React.signal -> int React.signal           val ( + ) :             int React.signal -> int React.signal -> int React.signal           val ( - ) :             int React.signal -> int React.signal -> int React.signal           val ( * ) :             int React.signal -> int React.signal -> int React.signal           val ( mod ) :             int React.signal -> int React.signal -> int React.signal           val abs : int React.signal -> int React.signal           val max_int : int React.signal           val min_int : int React.signal           val ( land ) :             int React.signal -> int React.signal -> int React.signal           val ( lor ) :             int React.signal -> int React.signal -> int React.signal           val ( lxor ) :             int React.signal -> int React.signal -> int React.signal           val lnot : int React.signal -> int React.signal           val ( lsl ) :             int React.signal -> int React.signal -> int React.signal           val ( lsr ) :             int React.signal -> int React.signal -> int React.signal           val ( asr ) :             int React.signal -> int React.signal -> int React.signal         end       module Float :         sig           val zero : float React.signal           val one : float React.signal           val minus_one : float React.signal           val ( ~-. ) : float React.signal -> float React.signal           val ( +. ) :             float React.signal -> float React.signal -> float React.signal           val ( -. ) :             float React.signal -> float React.signal -> float React.signal           val ( *. ) :             float React.signal -> float React.signal -> float React.signal           val ( /. ) :             float React.signal -> float React.signal -> float React.signal           val ( ** ) :             float React.signal -> float React.signal -> float React.signal           val sqrt : float React.signal -> float React.signal           val exp : float React.signal -> float React.signal           val log : float React.signal -> float React.signal           val log10 : float React.signal -> float React.signal           val cos : float React.signal -> float React.signal           val sin : float React.signal -> float React.signal           val tan : float React.signal -> float React.signal           val acos : float React.signal -> float React.signal           val asin : float React.signal -> float React.signal           val atan : float React.signal -> float React.signal           val atan2 :             float React.signal -> float React.signal -> float React.signal           val cosh : float React.signal -> float React.signal           val sinh : float React.signal -> float React.signal           val tanh : float React.signal -> float React.signal           val ceil : float React.signal -> float React.signal           val floor : float React.signal -> float React.signal           val abs_float : float React.signal -> float React.signal           val mod_float :             float React.signal -> float React.signal -> float React.signal           val frexp : float React.signal -> (float * int) React.signal           val ldexp :             float React.signal -> int React.signal -> float React.signal           val modf : float React.signal -> (float * float) React.signal           val float : int React.signal -> float React.signal           val float_of_int : int React.signal -> float React.signal           val truncate : float React.signal -> int React.signal           val int_of_float : float React.signal -> int React.signal           val infinity : float React.signal           val neg_infinity : float React.signal           val nan : float React.signal           val max_float : float React.signal           val min_float : float React.signal           val epsilon_float : float React.signal           val classify_float :             float React.signal -> Pervasives.fpclass React.signal         end       module Pair :         sig           val pair :             ?eq:('a * '-> 'a * '-> bool) ->             'React.signal -> 'React.signal -> ('a * 'b) React.signal           val fst :             ?eq:('-> '-> bool) ->             ('a * 'b) React.signal -> 'React.signal           val snd :             ?eq:('-> '-> bool) ->             ('b * 'a) React.signal -> 'React.signal         end       module Option :         sig           val none : 'a option React.signal           val some : 'React.signal -> 'a option React.signal           val value :             ?eq:('-> '-> bool) ->             default:[ `Always of 'React.signal | `Init of 'React.signal ] ->             'a option React.signal -> 'React.signal         end       module Compare :         sig           val ( = ) : 'React.signal -> 'React.signal -> bool React.signal           val ( <> ) :             'React.signal -> 'React.signal -> bool React.signal           val ( < ) : 'React.signal -> 'React.signal -> bool React.signal           val ( > ) : 'React.signal -> 'React.signal -> bool React.signal           val ( <= ) :             'React.signal -> 'React.signal -> bool React.signal           val ( >= ) :             'React.signal -> 'React.signal -> bool React.signal           val compare :             'React.signal -> 'React.signal -> int React.signal           val ( == ) :             'React.signal -> 'React.signal -> bool React.signal           val ( != ) :             'React.signal -> 'React.signal -> bool React.signal         end       module type EqType =         sig           type 'a t           val equal : 'React.S.EqType.t -> 'React.S.EqType.t -> bool         end       module type S =         sig           type 'a v           val create :             'React.S.S.v ->             'React.S.S.v React.signal *             (?step:React.step -> 'React.S.S.v -> unit)           val equal :             'React.S.S.v React.signal ->             'React.S.S.v React.signal -> bool           val hold :             'React.S.S.v ->             'React.S.S.v React.event -> 'React.S.S.v React.signal           val app :             ('-> 'React.S.S.v) React.signal ->             'React.signal -> 'React.S.S.v React.signal           val map :             ('-> 'React.S.S.v) ->             'React.signal -> 'React.S.S.v React.signal           val filter :             ('React.S.S.v -> bool) ->             'React.S.S.v ->             'React.S.S.v React.signal -> 'React.S.S.v React.signal           val fmap :             ('-> 'React.S.S.v option) ->             'React.S.S.v -> 'React.signal -> 'React.S.S.v React.signal           val when_ :             bool React.signal ->             'React.S.S.v ->             'React.S.S.v React.signal -> 'React.S.S.v React.signal           val dismiss :             'React.event ->             'React.S.S.v ->             'React.S.S.v React.signal -> 'React.S.S.v React.signal           val accum :             ('React.S.S.v -> 'React.S.S.v) React.event ->             'React.S.S.v -> 'React.S.S.v React.signal           val fold :             ('React.S.S.v -> '-> 'React.S.S.v) ->             'React.S.S.v -> 'React.event -> 'React.S.S.v React.signal           val merge :             ('React.S.S.v -> '-> 'React.S.S.v) ->             'React.S.S.v ->             'React.signal list -> 'React.S.S.v React.signal           val switch :             'React.S.S.v React.signal React.signal ->             'React.S.S.v React.signal           val bind :             'React.signal ->             ('-> 'React.S.S.v React.signal) ->             'React.S.S.v React.signal           val fix :             'React.S.S.v ->             ('React.S.S.v React.signal -> 'React.S.S.v React.signal * 'b) ->             'b           val l1 :             ('-> 'React.S.S.v) ->             'React.signal -> 'React.S.S.v React.signal           val l2 :             ('-> '-> 'React.S.S.v) ->             'React.signal -> 'React.signal -> 'React.S.S.v React.signal           val l3 :             ('-> '-> '-> 'React.S.S.v) ->             'React.signal ->             'React.signal -> 'React.signal -> 'React.S.S.v React.signal           val l4 :             ('-> '-> '-> '-> 'React.S.S.v) ->             'React.signal ->             'React.signal ->             'React.signal -> 'React.signal -> 'React.S.S.v React.signal           val l5 :             ('-> '-> '-> '-> '-> 'React.S.S.v) ->             'React.signal ->             'React.signal ->             'React.signal ->             'React.signal -> 'React.signal -> 'React.S.S.v React.signal           val l6 :             ('-> '-> '-> '-> '-> '-> 'React.S.S.v) ->             'React.signal ->             'React.signal ->             'React.signal ->             'React.signal ->             'React.signal -> 'React.signal -> 'React.S.S.v React.signal         end       module Make :         functor (Eq : EqType->           sig             type 'a v = 'Eq.t             val create : 'a v -> 'a v signal * (?step:step -> 'a v -> unit)             val equal : 'a v signal -> 'a v signal -> bool             val hold : 'a v -> 'a v event -> 'a v signal             val app : ('-> 'b v) signal -> 'a signal -> 'b v signal             val map : ('-> 'b v) -> 'a signal -> 'b v signal             val filter : ('a v -> bool) -> 'a v -> 'a v signal -> 'a v signal             val fmap :               ('-> 'b v option) -> 'b v -> 'a signal -> 'b v signal             val when_ : bool signal -> 'a v -> 'a v signal -> 'a v signal             val dismiss : 'b event -> 'a v -> 'a v signal -> 'a v signal             val accum : ('a v -> 'a v) event -> 'a v -> 'a v signal             val fold :               ('a v -> '-> 'a v) -> 'a v -> 'b event -> 'a v signal             val merge :               ('a v -> '-> 'a v) -> 'a v -> 'b signal list -> 'a v signal             val switch : 'a v signal signal -> 'a v signal             val bind : 'b signal -> ('-> 'a v signal) -> 'a v signal             val fix : 'a v -> ('a v signal -> 'a v signal * 'b) -> 'b             val l1 : ('-> 'b v) -> 'a signal -> 'b v signal             val l2 :               ('-> '-> 'c v) -> 'a signal -> 'b signal -> 'c v signal             val l3 :               ('-> '-> '-> 'd v) ->               'a signal -> 'b signal -> 'c signal -> 'd v signal             val l4 :               ('-> '-> '-> '-> 'e v) ->               'a signal -> 'b signal -> 'c signal -> 'd signal -> 'e v signal             val l5 :               ('-> '-> '-> '-> '-> 'f v) ->               'a signal ->               'b signal -> 'c signal -> 'd signal -> 'e signal -> 'f v signal             val l6 :               ('-> '-> '-> '-> '-> '-> 'g v) ->               'a signal ->               'b signal ->               'c signal -> 'd signal -> 'e signal -> 'f signal -> 'g v signal           end       module Special :         sig           module Sb :             sig               type 'a v = bool               val create : 'a v -> 'a v signal * (?step:step -> 'a v -> unit)               val equal : 'a v signal -> 'a v signal -> bool               val hold : 'a v -> 'a v event -> 'a v signal               val app : ('-> 'b v) signal -> 'a signal -> 'b v signal               val map : ('-> 'b v) -> 'a signal -> 'b v signal               val filter :                 ('a v -> bool) -> 'a v -> 'a v signal -> 'a v signal               val fmap :                 ('-> 'b v option) -> 'b v -> 'a signal -> 'b v signal               val when_ : bool signal -> 'a v -> 'a v signal -> 'a v signal               val dismiss : 'b event -> 'a v -> 'a v signal -> 'a v signal               val accum : ('a v -> 'a v) event -> 'a v -> 'a v signal               val fold :                 ('a v -> '-> 'a v) -> 'a v -> 'b event -> 'a v signal               val merge :                 ('a v -> '-> 'a v) -> 'a v -> 'b signal list -> 'a v signal               val switch : 'a v signal signal -> 'a v signal               val bind : 'b signal -> ('-> 'a v signal) -> 'a v signal               val fix : 'a v -> ('a v signal -> 'a v signal * 'b) -> 'b               val l1 : ('-> 'b v) -> 'a signal -> 'b v signal               val l2 :                 ('-> '-> 'c v) -> 'a signal -> 'b signal -> 'c v signal               val l3 :                 ('-> '-> '-> 'd v) ->                 'a signal -> 'b signal -> 'c signal -> 'd v signal               val l4 :                 ('-> '-> '-> '-> 'e v) ->                 'a signal ->                 'b signal -> 'c signal -> 'd signal -> 'e v signal               val l5 :                 ('-> '-> '-> '-> '-> 'f v) ->                 'a signal ->                 'b signal ->                 'c signal -> 'd signal -> 'e signal -> 'f v signal               val l6 :                 ('-> '-> '-> '-> '-> '-> 'g v) ->                 'a signal ->                 'b signal ->                 'c signal ->                 'd signal -> 'e signal -> 'f signal -> 'g v signal             end           module Si :             sig               type 'a v = int               val create : 'a v -> 'a v signal * (?step:step -> 'a v -> unit)               val equal : 'a v signal -> 'a v signal -> bool               val hold : 'a v -> 'a v event -> 'a v signal               val app : ('-> 'b v) signal -> 'a signal -> 'b v signal               val map : ('-> 'b v) -> 'a signal -> 'b v signal               val filter :                 ('a v -> bool) -> 'a v -> 'a v signal -> 'a v signal               val fmap :                 ('-> 'b v option) -> 'b v -> 'a signal -> 'b v signal               val when_ : bool signal -> 'a v -> 'a v signal -> 'a v signal               val dismiss : 'b event -> 'a v -> 'a v signal -> 'a v signal               val accum : ('a v -> 'a v) event -> 'a v -> 'a v signal               val fold :                 ('a v -> '-> 'a v) -> 'a v -> 'b event -> 'a v signal               val merge :                 ('a v -> '-> 'a v) -> 'a v -> 'b signal list -> 'a v signal               val switch : 'a v signal signal -> 'a v signal               val bind : 'b signal -> ('-> 'a v signal) -> 'a v signal               val fix : 'a v -> ('a v signal -> 'a v signal * 'b) -> 'b               val l1 : ('-> 'b v) -> 'a signal -> 'b v signal               val l2 :                 ('-> '-> 'c v) -> 'a signal -> 'b signal -> 'c v signal               val l3 :                 ('-> '-> '-> 'd v) ->                 'a signal -> 'b signal -> 'c signal -> 'd v signal               val l4 :                 ('-> '-> '-> '-> 'e v) ->                 'a signal ->                 'b signal -> 'c signal -> 'd signal -> 'e v signal               val l5 :                 ('-> '-> '-> '-> '-> 'f v) ->                 'a signal ->                 'b signal ->                 'c signal -> 'd signal -> 'e signal -> 'f v signal               val l6 :                 ('-> '-> '-> '-> '-> '-> 'g v) ->                 'a signal ->                 'b signal ->                 'c signal ->                 'd signal -> 'e signal -> 'f signal -> 'g v signal             end           module Sf :             sig               type 'a v = float               val create : 'a v -> 'a v signal * (?step:step -> 'a v -> unit)               val equal : 'a v signal -> 'a v signal -> bool               val hold : 'a v -> 'a v event -> 'a v signal               val app : ('-> 'b v) signal -> 'a signal -> 'b v signal               val map : ('-> 'b v) -> 'a signal -> 'b v signal               val filter :                 ('a v -> bool) -> 'a v -> 'a v signal -> 'a v signal               val fmap :                 ('-> 'b v option) -> 'b v -> 'a signal -> 'b v signal               val when_ : bool signal -> 'a v -> 'a v signal -> 'a v signal               val dismiss : 'b event -> 'a v -> 'a v signal -> 'a v signal               val accum : ('a v -> 'a v) event -> 'a v -> 'a v signal               val fold :                 ('a v -> '-> 'a v) -> 'a v -> 'b event -> 'a v signal               val merge :                 ('a v -> '-> 'a v) -> 'a v -> 'b signal list -> 'a v signal               val switch : 'a v signal signal -> 'a v signal               val bind : 'b signal -> ('-> 'a v signal) -> 'a v signal               val fix : 'a v -> ('a v signal -> 'a v signal * 'b) -> 'b               val l1 : ('-> 'b v) -> 'a signal -> 'b v signal               val l2 :                 ('-> '-> 'c v) -> 'a signal -> 'b signal -> 'c v signal               val l3 :                 ('-> '-> '-> 'd v) ->                 'a signal -> 'b signal -> 'c signal -> 'd v signal               val l4 :                 ('-> '-> '-> '-> 'e v) ->                 'a signal ->                 'b signal -> 'c signal -> 'd signal -> 'e v signal               val l5 :                 ('-> '-> '-> '-> '-> 'f v) ->                 'a signal ->                 'b signal ->                 'c signal -> 'd signal -> 'e signal -> 'f v signal               val l6 :                 ('-> '-> '-> '-> '-> '-> 'g v) ->                 'a signal ->                 'b signal ->                 'c signal ->                 'd signal -> 'e signal -> 'f signal -> 'g v signal             end         end     end   module Step :     sig       type t = React.step       val create : unit -> React.step       val execute : React.step -> unit     end end