SNAFU believes in several points that are reflected in its design, development, and maintenance. Knowing them may help users more effectively use SNAFU.
It should be easy to bin one underlying error type (such as
io::Error) into multiple domain-specific errors while
optionally adding contextual information.
SNAFU is designed to be used equally well in libraries and end-user applications.
Each module should have one (or more!) error types that are scoped to that module, reducing the need to deal with unrelated errors when matching and increasing cohesiveness of a single error type.