right now, trying to emulate exceptions in `@nogc nothrow` code
means i have to add 50 `if (errorCode != ErrorCode.Ok) { return
errorCode }`s everywhere, and use out parameters if i want to
actually return anything. it would be so much nicer [and
cleaner!] if there was some kind of language support for this.