So I’d like to change the default behavior from this:
to this:
This seems much more helpful for the player and gives the author one less thing to customize. I tried coding this myself but cannot: apparently whether the parser is in a WDYM state isn’t something exposed to Inform 7, and is nasty to do even in Inform 6, assuming it’s possible without breaking stuff.
The WDYM handling is a terrible knot in the Inform parser; it hasn’t changed since the Inform 5 days.
For this case, the easy way out is to munge the input (after-reading-command) to replace “HE”/“HIM” with “MAN”. Then ensure that all your male characters respond to “MAN”.
(Up to you whether to always do this, or only do it when the current pronoun is unset or out of scope.)