//// [icomparable.ts] interface IComparable { compareTo(other: T); } declare function sort>(items: U[]): U[]; interface StringComparable extends IComparable { } var sc: StringComparable[]; var x = sort(sc); //// [icomparable.js] var sc; var x = sort(sc);