Generalizing rules on actions to keep it DRY

I’ve created a talking to action and I’m trying to handle the various ways that a character can be conversed with, but it seems like I have to break out each one. Consider:

Instead of talking to the Enchantress:
   say "stuff".

Instead of telling the Enchantress about something or asking the Enchantress about something:
   say "stuff".

That last one does not work. Inform responds with “the circumstances seem to be too general for me to understand in a single rule.”

I realize I can just make a separate instead rule for “asking” but then I have to have three Instead rules that are basically doing the exact same thing. Not the end of the world but I’m curious if there’s a better way to handle something like this.

You can define a kind of action (manual 7.15).

Another option is to redirect one action into another:

Instead of talking to the Enchantress:
	say "stuff".

Instead of telling the Enchantress about something:
	try talking to the Enchantress.

Instead of asking the Enchantress about something:
	try talking to the Enchantress.

You have to write out all the rules separately, but you only have to write the outcome once.

There are ways to tidy this up, but they’re likely to depend on the circumstances. You could mimic Example 110:

Asking someone about something is speech. Telling someone about something is speech. Answering someone that something is speech. Asking someone for something is speech. 

Instead of speech in the presence of the Enchantress: 
     say "stuff".

Not much quicker than yours really, but it could be used with other NPCs. (Note that the `in the presence of’ trick is no good if you have two NPCs in one room.)

For that particular example, you could write

Instead of speech when the noun is the Enchantress: 

Thanks for the help. I ended up going with jrb’s solution with zarf’s amendation. I like it. That’s pretty slick code to these old eyes.