In many ways, PHP has come a long way to becoming a competent, typed language. With the newly minted PHP 8, strong types have eliminated a whole host of problems when dealing with class and function parameter input. However, it isn’t all just a bed of roses. Thrown exceptions (or Throwables these days) are notoriously absent from any sort of concrete specification within interfaces, classes, and functions. This is particularly troubling if one of our goals is for interchangeable implementations for a business process.