move ^ definitions to end of base/rational.jl to avoid ambiguities