Reducing clutter and generalizing is all well and good, but
does it make sense to move such a small amount of
logic (unless) to a subroutine? I'm under the impression
that sub calls are expensive enough to not be used
indiscriminately, but not too expensive to use when
necessary.