So, I know that recursion doesn't seem to work in the simple case, but at least it reaches runtime. Mutual recursion doesn't even compile successfully.
Here's the classic example of mutual recursion: sub even ($n) { given $n { when 0 { return 1 }; default { odd($n-1) }; } } sub odd ($n) { given $n { when 0 { return } default { even($n-1) }; } } even(2); Which throws C<< [prefix::val (not implemented) even] Prefix operator odd >> while compiling the tree. Curse! Sorry to keep throwing up errors, but I don't have the time at present to go through the code to try and find where the problem arises, but I think it's good to at least document the problem cases; if only so they can get shoved into the test library... -- "It is a truth universally acknowledged that a language in possession of a rich syntax must be in need of a rewrite." -- Jane Austen?