> Why is "no early returns" not a good rule?
It might be a good guideline.
Its not a good rule because slavishly following results in harder to follow code written to adhere to it.