undefinedArgumentInference.ts(3,4): error TS2322: Type 'undefined' is not assignable to type 'T'.
  'T' could be instantiated with an arbitrary type which could be unrelated to 'undefined'.


==== undefinedArgumentInference.ts (1 errors) ====
    function foo1<T>(f1: { x: T; y: T }): T {
    
       return undefined;
       ~~~~~~
!!! error TS2322: Type 'undefined' is not assignable to type 'T'.
!!! error TS2322:   'T' could be instantiated with an arbitrary type which could be unrelated to 'undefined'.
    
    }
    
    var z1 = foo1({ x: undefined, y: undefined }); 
    