interface C { foo(): CArrays; bar(): C; } interface CArrays extends C> { bar(): C; }