Clojure provides arbitrary precision numbers, but prefers to overflow by default: https://clojure.github.io/clojure/clojure.core-api.html#clojure.core/*' (interesting tradeoff)