I like good type systems, too, but they won't save you from bugs that are better addressed by fuzz testing, fault injection testing and adversarial mindset shifts.
In hindsight I should have positioned types/ADTs as one layer in the reliability toolbox, not the toolbox.