`functor (Eq : EqType) ->
sig
type 'a v = 'a Eq.t
val create : 'a v -> 'a v signal * ('a v -> unit)
val equal : 'a v signal -> 'a v signal -> bool
val hold : 'a v -> 'a v event -> 'a v signal
val app : ('a -> 'b v) signal -> 'a signal -> 'b v signal
val map : ('a -> 'b v) -> 'a signal -> 'b v signal
val filter : ('a v -> bool) -> 'a v -> 'a v signal -> 'a v signal
val fmap : ('a -> '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 -> 'b -> 'a v) -> 'a v -> 'b event -> 'a v signal
val merge : ('a v -> 'b -> 'a v) -> 'a v -> 'b signal list -> 'a v signal
val switch : 'a v signal -> 'a v signal event -> 'a v signal
val fix : 'a v -> ('a v signal -> 'a v signal * 'b) -> 'b
val l1 : ('a -> 'b v) -> 'a signal -> 'b v signal
val l2 : ('a -> 'b -> 'c v) -> 'a signal -> 'b signal -> 'c v signal
val l3 :
('a -> 'b -> 'c -> 'd v) ->
'a signal -> 'b signal -> 'c signal -> 'd v signal
val l4 :
('a -> 'b -> 'c -> 'd -> 'e v) ->
'a signal -> 'b signal -> 'c signal -> 'd signal -> 'e v signal
val l5 :
('a -> 'b -> 'c -> 'd -> 'e -> 'f v) ->
'a signal ->
'b signal -> 'c signal -> 'd signal -> 'e signal -> 'f v signal
val l6 :
('a -> 'b -> 'c -> 'd -> 'e -> 'f -> 'g v) ->
'a signal ->
'b signal ->
'c signal -> 'd signal -> 'e signal -> 'f signal -> 'g v signal
end`