switch statements
switch statements require you to exhaustively consider all relevant or possible inputs (if you don’t rely on default).
Interestingly, the notion that switch statements can require a default is reflective of the truth to the idea that when the stakes get high, we all fall back to our default level of training or function. This has global applications to our functionality and, by extension, the inputs (things,people/their methods,contexts) in our lives as well
You might be interested in the book Algorithms to Live By. It’s not a masterpiece or crazy deep, but it’s a pretty accessible look at a few applications of CS approaches to real world problems.