In my experience short-circuiting is what you actually need far more often.
my 0.02 about short-circuiting: when using a conditional form (like when-let), people should be prepared for some of their code not being evaluated. and you should try to stay sideffect-free anyway, so i vote for short-circuiting.