Hi Janus,
The cleaner approach would certainly be to avoid short-circuiting of impure functions altogether. If we can all agree that this is a good idea,
This is a fine example of logical short-circuiting - the condition you mention is false, therefore the rest need not be evaluated :-)