Type Safety Back and Forth

Types are a powerful construct for improving program safety. Haskell has a few notable ways of handling potential failure, the most famous being the venerable Maybe type: We can use Maybe as the result of a function to indicate: Hey, friend! This function might fail. You'll need to handle the Nothing case.