• Error handling is encoded by having a return type that is similar to Except, with constructors for success and failure