It is similar to old error codes, but I feel that this makes one always have to be mindful of error handling and the non happy path
Technically you need a separate linter (errcheck) to ensure you don't just ignore errors. This is...not great. (That should have been a compiler error.)
Notably, this article is from 2014.