Six years ago, during the early days of node, Guillermo Rauch wrote a blog post titled A String is not an Error. It might seem obvious now, but at the time, node didn’t really have any established patterns. That’s around the same time the error-first-callback pattern evolved as the standard way to return errors.