sig   type 'a signal = 'React.S.t   type 'a signal_list_wrap = 'ReactiveData.RList.t   module Source :     sig       type 'a t       val create :         ?eq:('-> '-> bool) -> '-> 'Ketrew_pure.Reactive.Source.t       val set : 'Ketrew_pure.Reactive.Source.t -> '-> unit       val signal :         'Ketrew_pure.Reactive.Source.t -> 'Ketrew_pure.Reactive.signal       val value : 'Ketrew_pure.Reactive.Source.t -> 'a       val modify : 'Ketrew_pure.Reactive.Source.t -> f:('-> 'a) -> unit       val modify_opt :         'Ketrew_pure.Reactive.Source.t -> f:('-> 'a option) -> unit       val map_signal :         'Ketrew_pure.Reactive.Source.t ->         f:('-> 'b) -> 'Ketrew_pure.Reactive.signal     end   module Signal :     sig       type 'a t = 'Ketrew_pure.Reactive.signal       val map :         'Ketrew_pure.Reactive.Signal.t ->         f:('-> 'b) -> 'Ketrew_pure.Reactive.Signal.t       val bind :         'Ketrew_pure.Reactive.Signal.t ->         f:('-> 'Ketrew_pure.Reactive.Signal.t) ->         'Ketrew_pure.Reactive.Signal.t       val constant : '-> 'Ketrew_pure.Reactive.Signal.t       val value : 'Ketrew_pure.Reactive.Signal.t -> 'a       val singleton :         'Ketrew_pure.Reactive.Signal.t ->         'Ketrew_pure.Reactive.signal_list_wrap       val list :         'a list Ketrew_pure.Reactive.Signal.t ->         'Ketrew_pure.Reactive.signal_list_wrap       val tuple_2 :         'Ketrew_pure.Reactive.Signal.t ->         'Ketrew_pure.Reactive.Signal.t ->         ('a * 'b) Ketrew_pure.Reactive.Signal.t       val tuple_3 :         'Ketrew_pure.Reactive.Signal.t ->         'Ketrew_pure.Reactive.Signal.t ->         'Ketrew_pure.Reactive.Signal.t ->         ('a * 'b * 'c) Ketrew_pure.Reactive.Signal.t     end end