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


==== sigantureIsSubTypeIfTheyAreIdentical.ts (1 errors) ====
    interface ICache {
        get<T>(key: string): T;
    }
    class CacheService implements ICache { // Should not error that property type of get are incomaptible
        get<T>(key: string): 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'.
        }
    }