@roberto Clojure is not a language suitable for making impossible states impossible without using run time validations.
@roberto That said, this comes near: https://github.com/lambdaisland/uniontypes
yeah, I don’t like doing certain checks at runtime, I prefer the compiler tell me when I’m doing something wrong. I’ve been bitten by some bugs in production that could have been avoided with the compiler’s help.
having said that, I am enjoying Typescript these days, seems to provide a good balance b/w typing and some dynamism.
@roberto well, the uniontypes thing does tell you at it compile time