TBH, I don't have a clear idea in my head, so that's why I'm not proposing a specific syntax for it... I'm just finding it increasingly useful to have it when dealing with rich data types.
But let's imagine we are expanding the Access behaviour functionality (hypothetically). I would assume that `struct.field` and `struct[:field]` would need to be somewhat equivalent for this to work.
This means that things like `%{struct | field: value}`, `Map.put(struct, :field, value)` and `put_in(struct, [:field, value])` would also need to "resolve" to function calls (I guess)!?
In my mind, the "problem" with the Access behaviour today is that you need to be aware of a specific syntax that you can easily bypass.
I'm imagining that making those function calls would have some cost to it, but it might be a good tradeoff to have in an opt-in feature.