I think another good question is alias this (and thus also our future library typedef). Should 'void foo(T:void*)(T int)' really reject a 'struct A {void* b; alias b this;}'? Don't think so.