Hi I'm a developer that writes code that interfaces with OpenSSL. One perspective I think that is missing that I haven't seen is that error codes that point to the exact point in the OpenSSL code that caused an issue are often needed to debug code that interfaces with OpenSSL. Importantly because the documentation is often lacking complete clarity on exactly what any given OpenSSL function does. We (using openssl 1.0.2) from time to time get errors from within OpenSSL that need diving into the OpenSSL code to diagnose. If the errors don't point to the location in the OpenSSL code the error was generated, this makes it all the harder to diagnose issues.
Thanks, Matthew