> Yes canOverflow can produce NameNotFound in theory. It means, when using library function `proc someFn() {.raises: ErrorCode.}` \- there's no way to understand what are the special cases (errors) for this proc and how they should be handled. Basically it's as good as using `int` instead of `ErrorCode` \- basically, loosing the type safety.
Basically, it's same as using huge `FlagCode` enum for everything `proc openFile(fname: string, flag: FlagCode)` and `proc startHttpServer(port: int, flag: FlagCode)`. Maybe it's better to be clear about what it is - a way to achieve high performance, with the cost of loosing type safety and readability. And use plain `int` instead of `ErrorCode`.