Re-implement integer exponentiation for both <big>int<sup>int</sup></big> and <big>float<sup>int</sup></big> as both a procedure, and an operator (if your language supports operator definition).
If the language supports operator (or procedure) overloading, then an overloaded form should be provided for both <big>int<sup>int</sup></big> and <big>float<sup>int</sup></big> variants.