"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);
}