I currently use a data structure like this: (def sample-board   [[{:mine true} {:warn 2   } {:warn 1} {          }]   [{:warn 2   } {:mine true} {:warn 1} {          }]   [{:warn 1   } {:warn 1   } {:warn 2} {:warn 1   }]   [{          } {          } {:warn 1} {:mine true}]])Now I want to create a copy of the first structure and each element should be supplemented with :explored true. My approach so far looks like this: (def sample-board-solved  (map (partial map                 (partial conj {:explored true}))        sample-board))I don't find the approach very appealing though. I thought about using for instead or maybe recur in combination with update-in but I did not bring it to work yet. I'd be glad on suggestions how to improve the code. 
Add an entry to every element in a nested data structure
clojure
You could maybe make your solution a bit neater by using a lambda in place of one of your partials.  assoc might be a little clearer in purpose than a conj as well:(def sample-board-solved  (map (partial map #(assoc % :explored true))       sample-board))Using map like this will return things in sequences rather than vectors like the input data.  If it's particularly important that you get vectors out you can always use mapv