//// [typeParameterConstrainedToOuterTypeParameter.ts] interface A { (x: U[]) } interface B { (x: U) } var a: A var b: B = a; // assignment should be legal (both U's get instantiated to any for comparison) //// [typeParameterConstrainedToOuterTypeParameter.js] var a; var b = a; // assignment should be legal (both U's get instantiated to any for comparison)