(defconst xs [3 i32] [1 2 3]) ;; (at xs 7) with a literal index does not reach the backend at all: check.ml ;; rejects it. This one goes through a local, so it is the runtime check that ;; catches it — the same message, and the program stops where it happened. (defn main [] () (let [i 7] (println "before") (print (at xs i)) (println "unreachable")))