It would be nice if `if` branches resulting in flow transfer (as in this case with `return`) were not followed by redundant `else` branches. I realize this is a matter beyond this diff.