> I've only tried this with Saxon 8.7.1 so I'm assuming it's
> intentional? Is there a good reason for this - something
> that I'm not seeing at the moment?
It's intentional and the reason for it is that people voted for it, but I
can't read their minds to tell you why they did so.
It can be quite convenient though when writing a micro-pipeline:
<xsl:variable name="selected-nodes" select="...."/>
<xsl:variable name="selected-nodes" select="if (XYZ) then $selected-nodes
else ...."/>
<xsl:variable name="selected-nodes" select="if (PQR) then $selected-nodes
else ...."/>