> However, going with that, the supplementary question is, how do > I then > discover if bar[0] is a symbol or not? I can't see any traits > to test for > builtin types... You could use the fact that alias parameters can not be builtin types, like this: template TestSymbol(alias a){} __traits(compiles, TestSymbol!(bar[0]))