@eniko What context is this in/which problem are you trying to solve?
Certainly, short-circuiting and non-booleans might have some low-level utility, but I'm not seeing it off-hand. I'm curious about what you need to do (although that might not help provide a better answer :(