I\'m coming from a statically-typed background and investigating functional programming, but I\'m not entirely excited about dynamic typing. I\'m curious about what kind of opti
The type theory was first applied to the functional programming (typed lambda calculus), long before any imperative languages.
For the most advanced static type systems (you won't find anything comparable in the imperative world) check out Coq and Agda.