Bug 225 eliminate decimal, with no monkey patching

This may be preferable to #229 though it's also a bit on the fragile side. At least it doesn't perturb state.