> bool compareByMemb(string[] ignores, T)(T obj1, T obj2) { > foreach (name; __traits(getAllMembers, T)) { > ... > } In this particular case you could try foo(T, U...)(T obj1, T obj2, U ignores)