"Abstraction of [[numeric types|Numeric]] that may be raised to a power `x^p`. Note that the type of the exponent may be different to the numeric type which may be exponentiated." see (`class Integer`, `class Float`) shared interface Exponentiable<This,Other> of This satisfies Numeric<This> given This satisfies Exponentiable<This,Other> given Other satisfies Numeric<Other> { "The result of raising this number to the given power." shared formal This power(Other other); }