But we need types people! Properly static ones that can be used to encode your intentions and handle inconsistency before even running the program. And yes I know that Clojure has an optional type system. But optional means that you cannot rely on having types in the libraries that you use. So you can&#x27;t fit your stuff together with their stuff and have reasonable expectations that it will work once the user does that one thing you didn&#x27;t think would be a most reasonable thing to do (of course it is, what were you thinking! And tell me again why you didn&#x27;t just let the computer do that thinking for you?).