The idea is that we could have standard error types that are not tied to anything.
These errors can be used thought the app including external libraries.
Specific errors types can be handled easily to achieve different behavior.
HTTP middleware would be included to easily translate error types into relevent HTTP status codes.
Some error type ideas: InvalidParameter(s) = HTTP 400