Hm you're right, predeclaration doesn't seem to be the correct solution to your
problem after all.
But this bug tracker is not the right place for Perl 6 user support, it should
be reserved for collecting info on actual Rakudo bugs.
You should ask on the #perl6 IRC channel instead, I'm sure someone there can
help you solve your programming problem.
As for the issue of Rakudo failing to detect the cyclic dependency and printing
an appropriate error message for it, I've submitted a new ticket for that to
keep it clean: [perl #128285]
I'm renaming this ticket here back to its original title, and I'm closing it.