Coalesce reference fields whose values are consumed only through nested objects
> **Follow-up of** [!1112](https://git.drupalcode.org/project/canvas/-/merge_requests/1112) — see [note 1200321](https://git.drupalcode.org/project/canvas/-/merge_requests/1112#note_1200321) and [note 1200324](https://git.drupalcode.org/project/canvas/-/merge_requests/1112#note_1200324).
### Overview
When *none* of a reference field's values are consumed directly — only via nested objects — the separate expressions could, since [commit 87f7b61dd](https://git.drupalcode.org/project/canvas/-/merge_requests/1112), be coalesced further into a single nested-object expression. For example:
```
ℹ︎␜entity:node:article␝uid␞␟{name↝entity␜␜entity:user␝name␞␟value,mail↝entity␜␜entity:user␝mail␞␟value}
```
This is currently left as-is because it would mean none of the values on the `uid` field are consumed directly, which reads as odd. It is a potential tightening, not a defect.
This is also the only `CoalescerTest` case where the coalesced result is not a single string; tightening it here would let that test case become simpler too.
### Proposed resolution
Allow maximal coalescing into a single nested-object expression when a reference field's values are consumed exclusively through nested objects. Weigh the readability trade-off (no directly consumed value on the field) against the simplification it enables.
### Remaining tasks
- Decide whether the tighter coalescing is desirable.
- If yes, extend the `Coalescer` and simplify the affected `CoalescerTest` case.
issue