typeParameterOrderReversal.ts(8,5): error TS2322: Type 'null' is not assignable to type 'X<number>'.


==== typeParameterOrderReversal.ts (1 errors) ====
    interface X<T> {
        n: T;
    }
    
    // Only difference here is order of type parameters
    function uFirst<U extends X<T>, T>(x: U) { }
    function tFirst<T, U extends X<T>>(x: U) { }
    var z: X<number> = null;
        ~
!!! error TS2322: Type 'null' is not assignable to type 'X<number>'.
    
    // Both of these should be allowed
    uFirst(z);
    tFirst(z);
    