Par_incr.VarDefines the type and various operations for modifiable values.
A 'a Var.t will hold a value of type 'a. Unlike 'a t, this can be read and changed. This is our handle to values that can be mutated and the computations can then be propagated efficiently.
Var.create x creates a Var.t with value x. Optionally you can specify cutoff and to_s parameters as well. Default for cutoff is Phys_equal and it's recommended to pass cutoff wherever the default doesn't work.
val set : 'a t -> 'a -> unitVar.set t x sets the value of t to x. In case x is same as the old value, it won't do anything. If x is not equal to the old value, it'll mark all the computations that depend on t to be ready for propagation.
val value : 'a t -> 'aVar.value t returns the value stored inside t.
val watch : 'a t -> 'a incrementalVar.value t converts 'a Var.t to 'a incremental. This is what lets us apply many combinators made available by the library and write bigger incremental programs.