Who is the illusion for, though? Logically, a Unix shell should give a greater impression of freedom. The Unix shell and the parser may not convey it clearly, but with a certain depth of experience doesn’t the fact sink in that the shell has four thousand commands, and the parser game has forty? Maybe I experience the illusion of being able to type anything in my first few hours playing IF, but after that?
IMO the impression of total freedom comes only somewhat from the illusion that you can type anything. It comes from the real cycle of thinking of an unprompted action, communicating it, and having the game understand what you intended to do. (As opposed to playing a link-based game, which can feel more like following instructions than giving them.)
From this perspective, completion, spell check, and so forth should actually increase the impression of freedom, because they will act to tighten up that cycle. That is, the player will spend less time typing input which turns out to be invalid, and the game will give more frequent indications that it is right there with the player, with respect to understanding. Fighting with the parser does not really enhance the impression of freedom.
In a parser game, the player absolutely has to get inside the world model and think about what actions are possible. They have to explore the space of possible actions with only their understanding as a guide, rather than working from user-interface hints about how many items are presently in play and how many verbs. I don’t see why spell check or completion would need to give up the game in this regard.
The goal would be to implement the details such that before the player knew what they wanted to do, they would get no help, but after they knew, the game would rush to assure them it understood. Some tricks might be necessary, like padding the verb list with red herring verbs. You’d be careful not to make it too trivial to game the user interface into giving you hints.
I think of it more as a question of scale and combinatoriality. A complex roguelike like Nethack has a similar feeling of freedom, despite all the commands being open information. But there are about forty of them, and you might be carrying as many items, some of which have idiosyncratic uses, so overall there are enough possibilities to sift through that it’s not easy to keep them all in mind. Parser games add the possibility of commands you haven’t seen before, rather than just commands you’ve forgotten, but it’s a similar principle.
I should stop rambling, but I believe the freedom of parser games is the freedom to think through the world model and come up with a non-obvious command unassisted. You get the chance to tell the game you understand it, and in return it tells you that it understands you.