Dueling beings on a grid
I don't think trying to cut down boilerplate like that is too much of an issue.
Normally I would have no problem with using something-&gt;somethingelse for the name of a function that converts from something to something else.  I'm not sure in this case though.  For one thing, I'd assume k means key.  k1-&gt;k2 kind of suggests it's acting on the key, but it's not.  In this case I'd probably just follow the example of the stdlib and call it f.  Makes it obvious it is the function that does the updating.  (Semi-related: you might want to check out the sample chapter of elements of clojure - it goes into naming things in clojure in some depth)
If you're running clojure 1.7+, you've got the update function that does this.