class B { } var b = new B; // no error class C { x: T; } var c = new C // C var c2 = new C // error, type params are actually part of the arg list so you need both