Looks cool, however I'm a bit confused that it's enum, ie I can't add my own
error codes. For example, I have a red button and if it is pressed there should
be a red alert error. The most appropriate is Failure. However, if the party
calling my function intercepts Failure, then this red button will not work and
something bad will happen (example 1). Pre-defined enum values are really
useful because it brings consistency to the Nim ecosystem (I'll know what I'm
using), but sometimes you just need to add something library-related that can't
be captured by a regular function that wasn't designed to capture it. I think
it would be nice, besides the possibility to use standard values that will be
used almost always, to add the possibility to add your own, so that you can
avoid handling some code in a function not designed to handle it.