Because it gets picked up by `defer errRecover(&err)`.

Other than that, I'm not 100% if there's value in doing the `panic(err)`. I was following existing conventions, and I'm not as intimately familiar with all of the cases that would cause errors.

If you think I should just return, I can gladly do that.