# Annotating Nested Data Structures (Across Languages)

**URL:** <https://forum.elixirforum.com/t/annotating-nested-data-structures-across-languages/38893>\
**Category:** Discussions\
**Tags:** nested\
**Created:** [April 12, 2021, 12:16pm UTC](https://forum.elixirforum.com/t/annotating-nested-data-structures-across-languages/38893 "2021-04-12T12:16:25Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![why](https://forum.elixirforum.com/letter_avatar_proxy/v4/letter/w/4bbf92/32.png) [@why](https://forum.elixirforum.com/u/why)\
**Post date:** [April 12, 2021, 12:16pm UTC](https://forum.elixirforum.com/t/annotating-nested-data-structures-across-languages/38893/1 "2021-04-12T12:16:25Z")

</div>

Hi,

There is a really interesting (and growing) set of solutions for how to traverse and annotate a nested data structure across a variety of programming languages coming together here:

[https://github.com/josevalim/nested-data-structure-traversal](https://github.com/josevalim/nested-data-structure-traversal)

I’m super grateful for @josevalim’s focus on this topic, as it goes straight to the point of where I see the greatest need for improving my personal productivity as an Elixir developer. It’s also the area where I’m most worried that I might run into a wall in the course of building an application with Elixir.

I have by now solved a few annotations / changes of deeply nested data structures in Elixir. I have learned quite a bit about recursion in the process, have received great help here and on Slack with my questions about it, have studied the docs, used the various nested structure functions in [Access](https://hexdocs.pm/elixir/Access.html) and [Kernel](https://hexdocs.pm/elixir/Kernel.html), and experimented with some lens libraries.

Nonetheless, I am still worried about running into a productivity hole when one of these (especially a deeply nested one that requires updates in many places) comes along…

My plan for addressing this was to build up a collection of examples and patterns as a base to work from, but I haven’t gotten around to it yet…

Love the fact that there is a focus on this, and really, really looking forward to any goodies (examples and/or helpers / conveniences) that might potentially come out of it (and already have come out of it in the Elixir folder) 🙂

---

<div class="post-metadata">

**Author:** ![hauleth](https://forum.elixirforum.com/user_avatar/forum.elixirforum.com/hauleth/32/18942_2.png) [@hauleth](https://forum.elixirforum.com/u/hauleth)\
**Post date:** [April 12, 2021, 12:46pm UTC](https://forum.elixirforum.com/t/annotating-nested-data-structures-across-languages/38893/2 "2021-04-12T12:46:33Z")

</div>

> [@why](#):
>
> have studied the docs, used the various nested structure functions in [Access](https://hexdocs.pm/elixir/Access.html) and [Kernel](https://hexdocs.pm/elixir/Kernel.html), and experimented with some lens libraries.

`Access` is lens implementation 😉
