The Error Path Should Be a Type
How Haskell confused me, Rust prepared me, F# made the idea click, and Python made me build the missing piece for data and ML workflows. A nightly feature pipeline fails while we are sleeping. Imagine a common failure case. A source table arrived late. One column has a new nullable value. A model metadata file is missing the training window. The pipeline is supposed to handle these cases because they are ordinary failures in data work. They are not developer mistakes in the same category as an index error or a broken invariant. ...