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