Referencing actual text seen by understand token for thing?

I wrote something that looks like:

[code]RelationA relates one kindA (called the X) to various kindBs.

Understand “[kindA]” as a kindB when the item described is a kindB and the X of item described is not nothing and the matched text is the printed name of the X of the item described.

This looks like it compiles to I6 in a way that almost does what I want:

[ Cond_Token_167 ;
    if (((((self ofclass K19_kindB))) && ((((~~((GProperty(OBJECT_TY, self,p74_X) == nothing))))) && (((matched_text == GProperty(OBJECT_TY, GProperty(OBJECT_TY, self,p74_X),short_name))))))) return GPR_PREPOSITION;
    return GPR_FAIL;

except that it appears that matched_text is not populated the way I thought it might be in this case. Is there some other way to reference the matched word(s)?

I should mention that I don’t think that the more typical “[something related by reversed RelationA]” would work in this case.

Both the kindA and its related kindB will be in scope at the same time, similar to the situation in RB Ex 367 “Originals”. However, there’s a slight weakness there in the way models are differentiated from their actuals via:

[code]Indication relates a model (called X) to a thing (called Y) when Y is shown by X and Y is suitable.

Definition: a thing is suitable:
if the player’s command includes “[actual]”, no;

which can be seen by adding:

A supporter called a table is in Forest.

then trying:

Test table-issue with "duplicate table / drop all / put model table on table / actual / look / put model table on actual table".

I think I can see why the example is set up that way (i.e. triggering on a keyword in the command): if it’s possible to indicate kindB via anything that can indicate kindA, then you can disambiguate the B from the A but not vice versa. But the workaround for a single-noun command won’t work if a B and its A must be used as the first and second nouns, right?

So, to make sure I’m connecting the dots enough: My thinking in the original post was that by limiting the applicable understanding of kindA in the context of identifiying a kindB (by presenting only kindA’s printed name property), the ability to disambiguate kindA’s would be preserved since I could say “Understand <something not found in kindA’s printed name property> as a kindA.” But the first step would be getting my “Understand…” command from the first post to work, and to do that I need to be able to compare the dragged-over printed name property against the actual text the player types. I think.

So, would that even be possible to do?