```d struct Tuple(T...){ T expand;alias expand this; } pragma(msg, isTuple!(Tuple!(int))); ``` And LDC2's opinion about Your Tuple is: Not a tuple :D These are the mysterious parts of the language, I like this stuff, even I can't understand.