Short-circuiting, value-returning boolean monoids and monads