The Case for Returning Errors Instead of Throwing Them in TypeScript
hugonteifeh.com