A given/when construct using a junction isn't quite doing what I'd expect. I'd thought that that would confirm that both elements were Int:
say do given all(3,7) { when Int { "both are Int" }; default {"not similar"} }; ## not similar But this does what I thought it would: say so do all(3,7) ~~ Int; # True And the given seems to put the junction in $_ as expected: given all(3,7) { say $_; say $_.WHAT; } # all(3, 7) # (Junction) And you can use that junction in a smartmatch explicitly given all(3,7) { say so $_ ~~ Numeric; } # True