Generalises reactive values over the monad
Generalises reactive values over the monad. Adds instances of functors, contrafunctors and gfunctors