Thanks, yes the actual result is certainly consistent with the junction applied at the top level, and not internally, which is what I was expecting.
Is there actually no way to pass a junction in to a function so that it can be used later in an internal smartmach? That's been my rough impression of what junctions are for, a way to have a compound value that's treated as a single one until it's used. I just gave a few other variants a try-- passing a junction in a variable, passing a code block containing a function-- without any luck.