I'm not sure on doing things this way for errors. I was thinking of using error codes like 'E01', but thought it might not be explicit enough. Also, should I lowercase the keys? I wanted to make it explicit that these are error types, but I'm probably breaking the convention for dict key names.