=== tests/cases/compiler/recursiveInheritance2.ts ===
interface A { (): B; };
>A : A
>B : B

declare var a: A;
>a : A
>A : A

var x = a();
>x : B
>a() : B
>a : A

interface B { (): C; };
>B : B
>C : C

declare var b: B;
>b : B
>B : B

var y = b();
>y : C
>b() : C
>b : B

interface C { (): A; };
>C : C
>A : A

declare var c: C;
>c : C
>C : C

var z = c();
>z : A
>c() : A
>c : C

x = y;
>x = y : C
>x : B
>y : C

