Destructuring with computed keys

In Clojure you can destructure a map using an arbitrary expression as the key. For example, here kw is a local binding. ( let [ kw :key { a kw } { :key 1 }] a ) ;=> 1 Usually this syntax is demonstrated as {sym0 :kw0 sym1 :kw1 ...} , which doesn’t reveal that the keywords are actually in expression position , or an evaluation context . The reason why this more recognizable syntax works is because…