partial review for const and final

I've been unable to run tests, so I'd love someone to take a look there.
I'm not sure what you mean here by "insurance variables".

In the previous implementation, the default values for `canIgnore` and `isError` would be overwritten by `null` if the named arguments were not set.