sig   type time = float   type 'a t   val at : 'Sharp_core.t -> Sharp_core.time -> 'a * 'Sharp_core.t   val subscribe :     'Sharp_core.t ->     ((unit -> unit) -> Sharp_core.time -> unit -> exn option) -> unit   val lock : 'Sharp_core.t -> unit -> unit -> unit   val make :     (Sharp_core.time -> 'a * 'Sharp_core.t) ->     (((unit -> unit) -> Sharp_core.time -> unit -> exn option) -> unit) ->     (unit -> unit -> unit) -> 'Sharp_core.t   val const : '-> 'Sharp_core.t   val time : Sharp_core.time Sharp_core.t   val map : ('-> 'b) -> 'Sharp_core.t -> 'Sharp_core.t   val ( <$> ) : ('-> 'b) -> 'Sharp_core.t -> 'Sharp_core.t   val pure : '-> 'Sharp_core.t   val apply : ('-> 'b) Sharp_core.t -> 'Sharp_core.t -> 'Sharp_core.t   val ( <*> ) : ('-> 'b) Sharp_core.t -> 'Sharp_core.t -> 'Sharp_core.t   val lift0 : '-> 'Sharp_core.t   val lift : ('-> 'b) -> 'Sharp_core.t -> 'Sharp_core.t   val lift2 :     ('-> '-> 'c) -> 'Sharp_core.t -> 'Sharp_core.t -> 'Sharp_core.t   val lift3 :     ('-> '-> '-> 'd) ->     'Sharp_core.t -> 'Sharp_core.t -> 'Sharp_core.t -> 'Sharp_core.t   val lift4 :     ('-> '-> '-> '-> 'e) ->     'Sharp_core.t ->     'Sharp_core.t -> 'Sharp_core.t -> 'Sharp_core.t -> 'Sharp_core.t   val lift5 :     ('-> '-> '-> '-> '-> 'f) ->     'Sharp_core.t ->     'Sharp_core.t ->     'Sharp_core.t -> 'Sharp_core.t -> 'Sharp_core.t -> 'Sharp_core.t   val map_opt :     ('-> 'b) -> 'a option Sharp_core.t -> 'b option Sharp_core.t   val ( <$?> ) :     ('-> 'b) -> 'a option Sharp_core.t -> 'b option Sharp_core.t   val apply_opt :     ('-> 'b) option Sharp_core.t ->     'a option Sharp_core.t -> 'b option Sharp_core.t   val ( <*?> ) :     ('-> 'b) option Sharp_core.t ->     'a option Sharp_core.t -> 'b option Sharp_core.t   val sequence : 'Sharp_core.t list -> 'a list Sharp_core.t   val return : '-> 'Sharp_core.t   val join : 'Sharp_core.t Sharp_core.t -> 'Sharp_core.t   val bind : 'Sharp_core.t -> ('-> 'Sharp_core.t) -> 'Sharp_core.t   val ( >>= ) : 'Sharp_core.t -> ('-> 'Sharp_core.t) -> 'Sharp_core.t   val ( >> ) : 'Sharp_core.t -> 'Sharp_core.t -> 'Sharp_core.t   val perform : ?force:bool -> 'Sharp_core.t -> ('-> unit) -> unit   val perform_state :     ?force:bool -> 'Sharp_core.t -> init:'-> f:('-> '-> 'b) -> unit   val perform_state_post :     ?force:bool ->     'Sharp_core.t -> init:'-> f:('-> '-> 'b * (unit -> unit)) -> unit   val react : 'a option Sharp_core.t -> ('-> unit) -> unit   val react_with :     'a option Sharp_core.t -> 'Sharp_core.t -> ('-> '-> unit) -> unit   val event : unit -> 'a option Sharp_core.t * ('-> unit)   val connected_event :     (('-> unit) -> unit -> unit) ->     'a option Sharp_core.t * ('-> unit) * (unit -> unit)   val on :     'a option Sharp_core.t ->     init:'-> f:('-> '-> 'b) -> 'Sharp_core.t   val last : 'a option Sharp_core.t -> init:'-> 'Sharp_core.t   val toggle : 'b option Sharp_core.t -> init:bool -> bool Sharp_core.t   val count : ?init:int -> 'b option Sharp_core.t -> int Sharp_core.t   val upon :     ?init:'-> 'c option Sharp_core.t -> 'Sharp_core.t -> 'Sharp_core.t   val fold :     'Sharp_core.t -> init:'-> f:('-> '-> 'b) -> 'Sharp_core.t end