Exponentiation operator

subset Natural of Int where { $^n >= 0 }

multi pow (0,     0)            { fail '0**0 is undefined' }
multi pow ($base, Natural $exp) { [*] $base xx $exp }
multi pow ($base, Int $exp)     { 1 / pow $base, -$exp }

sub infix:<***> ($a, $b) { pow $a, $b }

# Testing

say pow .75, -5;
say .75 *** -5;