This isn't a bug. That's the correct behavior for the capital X operator, also called the cross operator. S03 defines it as:
"the X operator returns all possible lists formed by taking one element from each of its list arguments" Perl 5's lowercase x operator has split into Perl 6's x and xx, which are 'string replication' and 'list replication'. [swe...@kweh ~]$ rakudo > say ("2" x 3).perl "222" > say ("2" xx 3).perl ["2", "2", "2"]