Jesse: “Yo Copilot, if you were going to write a soundly typed language with managed effects that compiles to JavaScript, which language would you choose to write the compiler in?”
Functional Programmers learn pretty early that Maybe/Optional should be avoided if possible. While many languages have lifting abilities to make them easier to work with, they end up littering your code with multiple places you have to handle the case where the data simply isn’t there. This is one of the reasons you see “Parse, Don’t Validate” pushed so heavily; you no longer have to write so many unhappy paths in the code, just 1 in the beginning.
Dave Farley calls it the Mockery. Jason Gorman has a video calling it Mock Abuse and Mock Hell. Both are true. I’m dealing with it at work and trying to gather various resources to help teach why this is a bad thing. I think Jason’s video has the best summary I’ve ever seen on it because “too many mocks” really are a symptom of a bad design.