Inform can be a little deceptive in how simple it seems. The code I wrote above is pretty easy to read and fairly straightforward. But what one can’t see in the code is how much time I spent to understand the World Model and the Standard Rules.
Inform does a whole lot of useful things by default. A big part of the craft of Inform is making choices that work with the default behavior rather than (inadvertently) making choices that work against them. So we all end up doing a lot of swimming upstream when starting out with Inform 'cause we haven’t had a chance yet to learn which way the stream flows.
The References section of the I7 Docs and Resources post links to several previous threads discussing where to put what kind of rules.