Problem with topic understood ("text A" is text B")

“Matches” drives me absolutely up the wall. It is in fact different from “matches the text.”

From §18.33 of Writing with Inform:

This is what you use when you’re dealing with snippets, which as §18.33 says are fragments of what the player typed. The most common snippets are “the topic understood” and “the player’s command,” and in some circumstances “matched text.” A snippet is internally represented as a single number which tells you what word of the command it starts at and how many words it is, so it really has to be something from the player’s command. (I think. Trust someone like zarf more than me about internals.)

Now, the infuriating thing is that when you’re dealing with texts–as per §20.5–you have:

if (text) matches the text (text): This condition is true if the second text occurs anywhere inside the first.

and

if (text) exactly matches the text (text): This condition is true if the second text matches the first, starting at the beginning and finishing at the end.

So… when you’re doing a snippet-to-topic comparison, it’s “matches” when they’re exactly the same and “includes” when the first includes the second. When you’re doing a text-to-text comparison, it’s “exactly matches the text” when they’re exactly the same and “matches the text” when the first includes the second. This is constantly tripping me up.

Anyway, I believe that

if "[the topic understood]" exactly matches the text "boo"

will wind up being the same as

if the topic understood matches "boo"

because saying “[the topic understood]” turns the snippet into a text.