1 multi sub postfix:<❢> (Int $i where $i < 0) is tighter(&infix:<*>) { 2 fail "Not a Natural Number in Factorial" 3 } 4 multi sub postfix:<❢> (Int $i where 0|1) is tighter(&infix:<*>) { 1 } 5 multi sub postfix:<❢> (Int $i where $i > 1) is tighter(&infix:<*>) { 6 $i * ($i-1)❢ 7 } 8 9 use Test; 10 isa-ok -1❢, Failure, "Factorial for -1 fails"; 11 ok 0❢ == 1, "Factorial for 0"; 12 ok 1❢ == 1, "Factorial for 1"; 13 ok 5❢ == 120, "Factorial for a larger integer";