Am I the only one who uses unless
in completely different circumstances from
if not? To me, using unless
implies that an exception to the rule is being given,
an edge or corner case being handled; the protasis
will *usually* be false, and so the apodosis will
*usually* be carried out, but on the occasion that
the protasis is true, then the apodosis is skipped.
In other situations, when the protasis is likely to
be true a lot, I use if not. I find
this semantic distinction useful, in terms of making
the code more legible when I come back to it later
to make changes.