In one sense this wouldn't be hard to do at all. It would be treating (for the user) wavefunction like molecule is currently treated. That is, the user may
activate(mymol) or be confident that
energy('hf') acts on the active mol w/o explicitly stating
But the wavefunction pass found various cases where modules were misusing
P::e by grabbing the same thing from multiple locations that mightn't have been consistent, trying various things until it worked, etc. It's all consistent now, thanks to @dgasmith, but I don't know if we want to give people the temptation to fall back into those ways.
On the other hand, if it's clearly agreed that
P::e.wavefunction() grabbing, like
activate(mymol) is strictly for the user and shall never appear either Py-side or C-side (maybe a post-commit hook? I really should learn more about those), I could live with this.
Also, this would also be a step back towards behind-the-scenes-magic-has-granted-you-this-molden-file rather than a more API-like interaction with less preserved in "state".
So, I'll chime is as slightly against the proposal and wait to see what others think. Whatever is decided, it should be done before 1.0.0 b/c we don't to make forseeable changes to the API after that.