It is literally the compiler enforced shitty error handling from C’s errno that is not even a sum type.
If it wasn't for the error handling, I would probably use Go for some of my projects. It compiles to a native, self-contained binary and still has the convenience of a garbage collector, and of course has plenty of libs available due to popularity.