This document summarizes three Clojure functions for updating atoms and refs: reset! sets the value of an atom without regard for its current value and returns the new value; compare-and-set! atomically sets the value of an atom only if its current value matches the given old value, returning true if set or false if not; commute sets the in-transaction value of a ref by applying a function to its current value and commits by applying the function to the last committed value, allowing for more concurrency than ref-set.