A co-worker asked about some code like this that originally had templates in it.
I have removed the templates, but the core question remains: why does this compile O
One helpful way of thinking about it might be that your X object is not a member of CX at all.