`expt' repair, again

Previous repair wasn't general enough; negative powers can also
go wrong.