If you don&#x27;t really care about the details of the unhappy path, just use Option. The real problem with exceptions is that they crash the whole program, but it&#x27;s really difficult to know you&#x27;ve accounted for all possible exceptions. With pattern matching on an Option, Either, or Validation, you&#x27;ll get a compile-time warning if you haven&#x27;t accounted for all branches. Checked exceptions, like in Java, also have this property, they&#x27;re just really awkward to use.