sub fs ( Code $f, @s ) { @s.map: { .$f } } sub f1 ( $n ) { $n * 2 } sub f2 ( $n ) { $n ** 2 } my &fsf1 := &fs.assuming: f => &f1; my &fsf2 := &fs.assuming: f => &f2; for [1..3], [2, *+2 ... 8] X &fsf1, &fsf2 -> $s, $f { say ~ $f.($s); }