Interesting! Thanks for looking at this, I would have never been able to figure this out on my own.
Weirdly enough though, I had been doing this already with no issues (see TPS type here. I only started having this problem once I added a second parametric type representing the CTable in this MWE (current dev branch here )
So it seems to me that this is OK behavior, but possibly a compiler bug. If that interpretation sounds correct, then I will use one of the workarounds above and submit an issue to julialang?