With a little more subversion of Inform 7’s typing system, of course, it’s also possble to store topics in variables:
Lab is a room.
topic-holder is a number that varies.
To decide which K is (v - a value) as a/-- (name of kind of value K): (- {v} -).
To decide which topic is the topic (T - topic): decide on T.
Understand "Americano/Cappuccino" or "Double Espresso" or "Flat White" as "[coffee]".
When play begins:
now topic-holder is the topic "[coffee]" as a number.
After reading a command:
if the player's command includes topic-holder as a topic:
say "Mmmm.... coffee!";
reject the player's command.