Boolean overloading.

is_just and is_right are overloaded with for boolean evaluation.

This requires using the refaddr() function for Maybe monads.