module Bool: sig .. end
val zero : bool React.signal
val one : bool React.signal
val not : bool React.signal -> bool React.signal
val (&&) : bool React.signal -> bool React.signal -> bool React.signal
val (||) : bool React.signal -> bool React.signal -> bool React.signal
val edge : bool React.signal -> bool React.event
edge s is changes s.
val rise : bool React.signal -> unit React.event
rise s is E.fmap (fun b -> if b then Some () else None) (edge s).
val fall : bool React.signal -> unit React.event
fall s is E.fmap (fun b -> if b then None else Some ()) (edge s).
val flip : bool -> 'a React.event -> bool React.signal
flip b e is a signal whose boolean value flips each time
        
e occurs. 
b is the initial signal value.
        
- [flip b e]0= not bif [e]0= Some _
- [flip b e]t= bif [e]<=t= None
- [flip b e]t=not[flip b e]t-dt
           if [e]t= Some _