Doesn't Zero already has its own _eval_power?
Zero and Float(0) are two different thing.
Should Float(0) be Zero?
If not, now avoid to duplicate the code?