=== tests/cases/compiler/genericInterfaceImplementation.ts ===
interface IOption {
>IOption : IOption
>A : A
get(): A;
>get : () => A
>A : A
flatten(): IOption;
>flatten : () => IOption
>B : B
>IOption : IOption
>B : B
}
class None implements IOption{
>None : None
>T : T
>IOption : IOption
>T : T
get(): T {
>get : () => T
>T : T
throw null;
>null : null
}
flatten() : IOption {
>flatten : () => IOption
>U : U
>IOption : IOption
>U : U
return new None();
>new None() : None
>None : typeof None
>U : U
}
}