When a [text] token is matched, the result is stored in “the topic understood”, which by the way is neither a text nor a topic. Yes, this is terrible naming.
The reason I deleted my response is because [a] does not work as a snippet. You have to use something like [a object] or (identically) [an object] for the compiler to know what you’re talking about. So that’s where your error is coming from.
Oh, whoops. I actually edited my response without editing the code because I realized it seemed more adaptable – but the error is from without the [a].
The topic understood is not being set correctly in this case, but you can get the information another way:
To decide which snippet is consult text: (- (consult_from*100+consult_words) -).
Understand "examine [text]" as a mistake ("No [consult text] is visible.").