My understanding is that using `revert` with custom errors is more gas efficient than using `require`.