LINQ Reporting Engine - Change root context within tags (like a foreach but singular)

So I’m doing document generation using Aspose to merge user-editable .dotx templates written in LINQ reporting engine tag syntax, with nested POCOs as the data source.

In one of these documents I’ve got this tightly packed nightmare of decimals in a table; there are 3 columns of 18 rows each, and the total width for all 3 of those columns added together is less than half the page width. It’s practically a spreadsheet, this particular page of this generated document. Not to mention that 2 out of 3 columns also have the formatting specifier :"#,##0" inside their tags to round them off and use a thousands separator.
So as you can imagine, while it’s fine in the merged result once it’s just a bunch of 10pt numbers, it’s pretty tight quarters in this table when you’re trying to maintain the unmerged template!
In an attempt to keep that under control, in addition to fiddling with the font size as much as I can inside the tags, I’ve limited the field names to just a few letters each, in order to make the template editing experience as usable as possible. So the template ends up looking like this:

I do, however, have automatic in-app documentation of the POCO schema that drives these documents, so that the users can look up the fields available to them when they want to edit the templates. But having these 54 fields of gibberish like FLC ODH OIP TSH YEH as peers of human-readable, understandable field names is just really a not very usable documentation, as you can see:

For this reason, I took these fields off of the root object and folded them under a child type.
But I obviously don’t have room to add a prefix like <<[Profile.FLC]:"#,###0">> to each tag in order to access child object’s fields from the root context…
So what I’ve done for now is made the root field for the child object a List<T> instead of the T directly, so that I can do a <<foreach>> to change the context. Even though I know there’s only ever one. Like so:

That gives me the cleanest option in both the template and the in-app data dictionary… but in both places it’s a little weird and confusing (having a foreach in the template, and the profile field listed as a list of objects in the app, when it only makes sense to have one semantically).

So my question is:

Is there a way to temporarily set the tag context to a child object exactly like a set of foreach tags does, but without it being a collection, just a single object?

@grant.bowering unfortunately this is not possible to achieve with the current template language.
If you want to gain in readability you can use variables, for example:

<<var [FLC = Profile.UserFriendlyNameForFLC]>>
.....
// In the required table cell
<<[FLC]:"#,###0">>

@grant.bowering

Yet another option is using your nested object as the first data source passed to ReportingEngine.BuildReport (and you can also pass an outer object as the second data source, if needed). Then, it is possible to use contextual object member access for members of the first data source object while writing expressions outside of all foreach tags. Please check Using Contextual Object Member Access for more information.