Source: https://media.pragprog.com/titles/shcloj2/whyclojure.pdf