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