Ok, while I don't see point of defining all the errors, I can agree about `protected`.