struct Wrapper(T) {
T data;
}
class Something(T, X){
this(T foo, X bar){}
void doSomething(T)(T someElement){
void instantiateTemp1() {
Wrapper!
void instantiateTemp2() {
Something!
void instantiateTemp3() {
doSomething!