Thanks for your post! The way n8n handles items means a “loop” or iterate node is less likely the solution but instead a Map/ Transform node is required (i.e. to get nested objects into what n8n considers an “item” - i.e. a top-level object in the array being sent into a node, since n8n performs actions per-item by default).
Just wanted to say that totally hear you on this one - I am currently performing research on best way to remove 70-80% of the need to use Function node for general data mapping/ transformation. We’re proceeding with a bit more caution on this node since we don’t want to put out some ill-conceived hacky solutions, then be supporting half-baked mapping nodes (for example, we’re supporting both Interval + Cron trigger; but in hindsight they could probably be one node just with various options). Once a node is released, we try hard not to make breaking changes or deprecate them so that users’ active workflows are not impacted.
On that note, if you can think of great examples of data mapping no-code patterns in other tools, please do share! Or simply listing the types of abstract transforms you envision needing to do often is also very valuable.