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