How can I achieve something like the following? I want to create a class B that has all the interfaces of the class passed as a template parameter. import std.trats; interface I0 {} interface I1 {} class A : I0, I1 {} class B!C : InterfacesTuple!C {} void main() { B!A a; }