Suppose I have a nested structure, something like this:

```
{:data1 
    {:categories [
        {:name "abc" :id 234 :desc "whatever"} 
        {:name "def" :id 456 :desc "nothing"}]
    }
  :data2 {...}
  :data3 {...}
}

```

And I need to transform the key names in the maps. I can transform the top level keys like this:

```
(rename-keys mymap {:data1 :d1})

```

But I'm not sure how to rename keys nested more deeply in the data structure (say I want to rename the :desc field to :description).

I'm pretty sure that zippers are the answer but can't quite figure out how to do it, or if there's a more straightforward way.