A while ago I decided to teach myself how the common machine learning algorithms worked and, to make things interesting, decided to implement them in parallel in both Clojure and Scala. I expected Clojure to be a better fit for this since Lisp has historically been strong in AI. But I found as my codebase grew that the Scala code was much easier to maintain, refactor and understand. So these days I am a big fan of static typing provided it&#x27;s in the form of a sufficiently expressive type system (Scala, Ocaml, Haskell, Swift etc).<p>Lisp got a lot of things right but I&#x27;m not sure dynamic typing and s-expression syntax were among them.