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