Why not early return in this case instead of wrapping the while fn body in an `if`?