It's neat but the CTE selection bit errors out more often than not & erroneously selects more than the current CTE
Can you say more? Where does it error out? Sounds like a bug; if you could post an example query, I bet we can fix that.