;; A captured name is a copy, taken where the value was made. A store into it ;; would change the copy and leave the local it came from as it was, which is ;; a silent disagreement — so it is refused, and the message says which of the ;; two would have moved. (defn run [f (Fn [] i32)] i32 (f)) (defn main [] i32 (let [n 1] (println (run (fn [] (set n 2) n)))) 0)