client: add monad for transactions and watches

This makes the README example typecheck.

Signed-off-by: David Scott <dave.scott@citrix.com>