I'm confused about how double junctions are supposed to work.
This makes some sense:
say all('a', 'b', 'c') ~ any('d', 'e');
gives
all(any(ad, ae), any(bd, be), any(cd, ce))
This doesn't make sense:
say any('a', 'b', 'c') ~ all('d', 'e');
gives
all(any(da, db, dc), any(ea, eb, ec))
It confuses me because the letter 'a' which I would expect to be on the left of the letter 'd' is now on the right.