=== tests/cases/conformance/expressions/contextualTyping/generatedContextualTyping.ts === class Base { private p; } >Base : Base >p : any class Derived1 extends Base { private m; } >Derived1 : Derived1 >Base : Base >m : any class Derived2 extends Base { private n; } >Derived2 : Derived2 >Base : Base >n : any interface Genric { func(n: T[]); } >Genric : Genric >T : T >func : (n: T[]) => any >n : T[] >T : T var b = new Base(), d1 = new Derived1(), d2 = new Derived2(); >b : Base >new Base() : Base >Base : typeof Base >d1 : Derived1 >new Derived1() : Derived1 >Derived1 : typeof Derived1 >d2 : Derived2 >new Derived2() : Derived2 >Derived2 : typeof Derived2 var x1: () => Base[] = () => [d1, d2]; >x1 : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x2: () => Base[] = function() { return [d1, d2] }; >x2 : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x3: () => Base[] = function named() { return [d1, d2] }; >x3 : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x4: { (): Base[]; } = () => [d1, d2]; >x4 : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x5: { (): Base[]; } = function() { return [d1, d2] }; >x5 : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x6: { (): Base[]; } = function named() { return [d1, d2] }; >x6 : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x7: Base[] = [d1, d2]; >x7 : Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x8: Array = [d1, d2]; >x8 : Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x9: { [n: number]: Base; } = [d1, d2]; >x9 : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x10: {n: Base[]; } = { n: [d1, d2] }; >x10 : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x11: (s: Base[]) => any = n => { var n: Base[]; return null; }; >x11 : (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null var x12: Genric = { func: n => { return [d1, d2]; } }; >x12 : Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x13 { member: () => Base[] = () => [d1, d2] } >x13 : x13 >member : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x14 { member: () => Base[] = function() { return [d1, d2] } } >x14 : x14 >member : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x15 { member: () => Base[] = function named() { return [d1, d2] } } >x15 : x15 >member : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x16 { member: { (): Base[]; } = () => [d1, d2] } >x16 : x16 >member : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x17 { member: { (): Base[]; } = function() { return [d1, d2] } } >x17 : x17 >member : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x18 { member: { (): Base[]; } = function named() { return [d1, d2] } } >x18 : x18 >member : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x19 { member: Base[] = [d1, d2] } >x19 : x19 >member : Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x20 { member: Array = [d1, d2] } >x20 : x20 >member : Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x21 { member: { [n: number]: Base; } = [d1, d2] } >x21 : x21 >member : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x22 { member: {n: Base[]; } = { n: [d1, d2] } } >x22 : x22 >member : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x23 { member: (s: Base[]) => any = n => { var n: Base[]; return null; } } >x23 : x23 >member : (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null class x24 { member: Genric = { func: n => { return [d1, d2]; } } } >x24 : x24 >member : Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x25 { private member: () => Base[] = () => [d1, d2] } >x25 : x25 >member : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x26 { private member: () => Base[] = function() { return [d1, d2] } } >x26 : x26 >member : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x27 { private member: () => Base[] = function named() { return [d1, d2] } } >x27 : x27 >member : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x28 { private member: { (): Base[]; } = () => [d1, d2] } >x28 : x28 >member : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x29 { private member: { (): Base[]; } = function() { return [d1, d2] } } >x29 : x29 >member : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x30 { private member: { (): Base[]; } = function named() { return [d1, d2] } } >x30 : x30 >member : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x31 { private member: Base[] = [d1, d2] } >x31 : x31 >member : Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x32 { private member: Array = [d1, d2] } >x32 : x32 >member : Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x33 { private member: { [n: number]: Base; } = [d1, d2] } >x33 : x33 >member : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x34 { private member: {n: Base[]; } = { n: [d1, d2] } } >x34 : x34 >member : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x35 { private member: (s: Base[]) => any = n => { var n: Base[]; return null; } } >x35 : x35 >member : (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null class x36 { private member: Genric = { func: n => { return [d1, d2]; } } } >x36 : x36 >member : Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x37 { public member: () => Base[] = () => [d1, d2] } >x37 : x37 >member : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x38 { public member: () => Base[] = function() { return [d1, d2] } } >x38 : x38 >member : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x39 { public member: () => Base[] = function named() { return [d1, d2] } } >x39 : x39 >member : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x40 { public member: { (): Base[]; } = () => [d1, d2] } >x40 : x40 >member : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x41 { public member: { (): Base[]; } = function() { return [d1, d2] } } >x41 : x41 >member : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x42 { public member: { (): Base[]; } = function named() { return [d1, d2] } } >x42 : x42 >member : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x43 { public member: Base[] = [d1, d2] } >x43 : x43 >member : Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x44 { public member: Array = [d1, d2] } >x44 : x44 >member : Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x45 { public member: { [n: number]: Base; } = [d1, d2] } >x45 : x45 >member : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x46 { public member: {n: Base[]; } = { n: [d1, d2] } } >x46 : x46 >member : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x47 { public member: (s: Base[]) => any = n => { var n: Base[]; return null; } } >x47 : x47 >member : (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null class x48 { public member: Genric = { func: n => { return [d1, d2]; } } } >x48 : x48 >member : Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x49 { static member: () => Base[] = () => [d1, d2] } >x49 : x49 >member : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x50 { static member: () => Base[] = function() { return [d1, d2] } } >x50 : x50 >member : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x51 { static member: () => Base[] = function named() { return [d1, d2] } } >x51 : x51 >member : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x52 { static member: { (): Base[]; } = () => [d1, d2] } >x52 : x52 >member : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x53 { static member: { (): Base[]; } = function() { return [d1, d2] } } >x53 : x53 >member : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x54 { static member: { (): Base[]; } = function named() { return [d1, d2] } } >x54 : x54 >member : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x55 { static member: Base[] = [d1, d2] } >x55 : x55 >member : Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x56 { static member: Array = [d1, d2] } >x56 : x56 >member : Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x57 { static member: { [n: number]: Base; } = [d1, d2] } >x57 : x57 >member : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x58 { static member: {n: Base[]; } = { n: [d1, d2] } } >x58 : x58 >member : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x59 { static member: (s: Base[]) => any = n => { var n: Base[]; return null; } } >x59 : x59 >member : (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null class x60 { static member: Genric = { func: n => { return [d1, d2]; } } } >x60 : x60 >member : Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x61 { private static member: () => Base[] = () => [d1, d2] } >x61 : x61 >member : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x62 { private static member: () => Base[] = function() { return [d1, d2] } } >x62 : x62 >member : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x63 { private static member: () => Base[] = function named() { return [d1, d2] } } >x63 : x63 >member : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x64 { private static member: { (): Base[]; } = () => [d1, d2] } >x64 : x64 >member : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x65 { private static member: { (): Base[]; } = function() { return [d1, d2] } } >x65 : x65 >member : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x66 { private static member: { (): Base[]; } = function named() { return [d1, d2] } } >x66 : x66 >member : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x67 { private static member: Base[] = [d1, d2] } >x67 : x67 >member : Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x68 { private static member: Array = [d1, d2] } >x68 : x68 >member : Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x69 { private static member: { [n: number]: Base; } = [d1, d2] } >x69 : x69 >member : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x70 { private static member: {n: Base[]; } = { n: [d1, d2] } } >x70 : x70 >member : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x71 { private static member: (s: Base[]) => any = n => { var n: Base[]; return null; } } >x71 : x71 >member : (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null class x72 { private static member: Genric = { func: n => { return [d1, d2]; } } } >x72 : x72 >member : Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x73 { public static member: () => Base[] = () => [d1, d2] } >x73 : x73 >member : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x74 { public static member: () => Base[] = function() { return [d1, d2] } } >x74 : x74 >member : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x75 { public static member: () => Base[] = function named() { return [d1, d2] } } >x75 : x75 >member : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x76 { public static member: { (): Base[]; } = () => [d1, d2] } >x76 : x76 >member : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x77 { public static member: { (): Base[]; } = function() { return [d1, d2] } } >x77 : x77 >member : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x78 { public static member: { (): Base[]; } = function named() { return [d1, d2] } } >x78 : x78 >member : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x79 { public static member: Base[] = [d1, d2] } >x79 : x79 >member : Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x80 { public static member: Array = [d1, d2] } >x80 : x80 >member : Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x81 { public static member: { [n: number]: Base; } = [d1, d2] } >x81 : x81 >member : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x82 { public static member: {n: Base[]; } = { n: [d1, d2] } } >x82 : x82 >member : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x83 { public static member: (s: Base[]) => any = n => { var n: Base[]; return null; } } >x83 : x83 >member : (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null class x84 { public static member: Genric = { func: n => { return [d1, d2]; } } } >x84 : x84 >member : Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x85 { constructor(parm: () => Base[] = () => [d1, d2]) { } } >x85 : x85 >parm : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x86 { constructor(parm: () => Base[] = function() { return [d1, d2] }) { } } >x86 : x86 >parm : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x87 { constructor(parm: () => Base[] = function named() { return [d1, d2] }) { } } >x87 : x87 >parm : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x88 { constructor(parm: { (): Base[]; } = () => [d1, d2]) { } } >x88 : x88 >parm : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x89 { constructor(parm: { (): Base[]; } = function() { return [d1, d2] }) { } } >x89 : x89 >parm : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x90 { constructor(parm: { (): Base[]; } = function named() { return [d1, d2] }) { } } >x90 : x90 >parm : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x91 { constructor(parm: Base[] = [d1, d2]) { } } >x91 : x91 >parm : Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x92 { constructor(parm: Array = [d1, d2]) { } } >x92 : x92 >parm : Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x93 { constructor(parm: { [n: number]: Base; } = [d1, d2]) { } } >x93 : x93 >parm : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x94 { constructor(parm: {n: Base[]; } = { n: [d1, d2] }) { } } >x94 : x94 >parm : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x95 { constructor(parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } } >x95 : x95 >parm : (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null class x96 { constructor(parm: Genric = { func: n => { return [d1, d2]; } }) { } } >x96 : x96 >parm : Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x97 { constructor(public parm: () => Base[] = () => [d1, d2]) { } } >x97 : x97 >parm : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x98 { constructor(public parm: () => Base[] = function() { return [d1, d2] }) { } } >x98 : x98 >parm : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x99 { constructor(public parm: () => Base[] = function named() { return [d1, d2] }) { } } >x99 : x99 >parm : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x100 { constructor(public parm: { (): Base[]; } = () => [d1, d2]) { } } >x100 : x100 >parm : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x101 { constructor(public parm: { (): Base[]; } = function() { return [d1, d2] }) { } } >x101 : x101 >parm : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x102 { constructor(public parm: { (): Base[]; } = function named() { return [d1, d2] }) { } } >x102 : x102 >parm : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x103 { constructor(public parm: Base[] = [d1, d2]) { } } >x103 : x103 >parm : Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x104 { constructor(public parm: Array = [d1, d2]) { } } >x104 : x104 >parm : Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x105 { constructor(public parm: { [n: number]: Base; } = [d1, d2]) { } } >x105 : x105 >parm : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x106 { constructor(public parm: {n: Base[]; } = { n: [d1, d2] }) { } } >x106 : x106 >parm : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x107 { constructor(public parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } } >x107 : x107 >parm : (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null class x108 { constructor(public parm: Genric = { func: n => { return [d1, d2]; } }) { } } >x108 : x108 >parm : Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x109 { constructor(private parm: () => Base[] = () => [d1, d2]) { } } >x109 : x109 >parm : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x110 { constructor(private parm: () => Base[] = function() { return [d1, d2] }) { } } >x110 : x110 >parm : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x111 { constructor(private parm: () => Base[] = function named() { return [d1, d2] }) { } } >x111 : x111 >parm : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x112 { constructor(private parm: { (): Base[]; } = () => [d1, d2]) { } } >x112 : x112 >parm : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x113 { constructor(private parm: { (): Base[]; } = function() { return [d1, d2] }) { } } >x113 : x113 >parm : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x114 { constructor(private parm: { (): Base[]; } = function named() { return [d1, d2] }) { } } >x114 : x114 >parm : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x115 { constructor(private parm: Base[] = [d1, d2]) { } } >x115 : x115 >parm : Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x116 { constructor(private parm: Array = [d1, d2]) { } } >x116 : x116 >parm : Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x117 { constructor(private parm: { [n: number]: Base; } = [d1, d2]) { } } >x117 : x117 >parm : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x118 { constructor(private parm: {n: Base[]; } = { n: [d1, d2] }) { } } >x118 : x118 >parm : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 class x119 { constructor(private parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } } >x119 : x119 >parm : (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null class x120 { constructor(private parm: Genric = { func: n => { return [d1, d2]; } }) { } } >x120 : x120 >parm : Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x121(parm: () => Base[] = () => [d1, d2]) { } >x121 : (parm?: () => Base[]) => void >parm : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x122(parm: () => Base[] = function() { return [d1, d2] }) { } >x122 : (parm?: () => Base[]) => void >parm : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x123(parm: () => Base[] = function named() { return [d1, d2] }) { } >x123 : (parm?: () => Base[]) => void >parm : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x124(parm: { (): Base[]; } = () => [d1, d2]) { } >x124 : (parm?: () => Base[]) => void >parm : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x125(parm: { (): Base[]; } = function() { return [d1, d2] }) { } >x125 : (parm?: () => Base[]) => void >parm : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x126(parm: { (): Base[]; } = function named() { return [d1, d2] }) { } >x126 : (parm?: () => Base[]) => void >parm : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x127(parm: Base[] = [d1, d2]) { } >x127 : (parm?: Base[]) => void >parm : Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x128(parm: Array = [d1, d2]) { } >x128 : (parm?: Base[]) => void >parm : Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x129(parm: { [n: number]: Base; } = [d1, d2]) { } >x129 : (parm?: { [n: number]: Base; }) => void >parm : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x130(parm: {n: Base[]; } = { n: [d1, d2] }) { } >x130 : (parm?: { n: Base[]; }) => void >parm : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x131(parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } >x131 : (parm?: (s: Base[]) => any) => void >parm : (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null function x132(parm: Genric = { func: n => { return [d1, d2]; } }) { } >x132 : (parm?: Genric) => void >parm : Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x133(): () => Base[] { return () => [d1, d2]; } >x133 : () => () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x134(): () => Base[] { return function() { return [d1, d2] }; } >x134 : () => () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x135(): () => Base[] { return function named() { return [d1, d2] }; } >x135 : () => () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x136(): { (): Base[]; } { return () => [d1, d2]; } >x136 : () => () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x137(): { (): Base[]; } { return function() { return [d1, d2] }; } >x137 : () => () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x138(): { (): Base[]; } { return function named() { return [d1, d2] }; } >x138 : () => () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x139(): Base[] { return [d1, d2]; } >x139 : () => Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x140(): Array { return [d1, d2]; } >x140 : () => Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x141(): { [n: number]: Base; } { return [d1, d2]; } >x141 : () => { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x142(): {n: Base[]; } { return { n: [d1, d2] }; } >x142 : () => { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x143(): (s: Base[]) => any { return n => { var n: Base[]; return null; }; } >x143 : () => (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null function x144(): Genric { return { func: n => { return [d1, d2]; } }; } >x144 : () => Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x145(): () => Base[] { return () => [d1, d2]; return () => [d1, d2]; } >x145 : () => () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x146(): () => Base[] { return function() { return [d1, d2] }; return function() { return [d1, d2] }; } >x146 : () => () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x147(): () => Base[] { return function named() { return [d1, d2] }; return function named() { return [d1, d2] }; } >x147 : () => () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x148(): { (): Base[]; } { return () => [d1, d2]; return () => [d1, d2]; } >x148 : () => () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x149(): { (): Base[]; } { return function() { return [d1, d2] }; return function() { return [d1, d2] }; } >x149 : () => () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x150(): { (): Base[]; } { return function named() { return [d1, d2] }; return function named() { return [d1, d2] }; } >x150 : () => () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x151(): Base[] { return [d1, d2]; return [d1, d2]; } >x151 : () => Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x152(): Array { return [d1, d2]; return [d1, d2]; } >x152 : () => Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x153(): { [n: number]: Base; } { return [d1, d2]; return [d1, d2]; } >x153 : () => { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x154(): {n: Base[]; } { return { n: [d1, d2] }; return { n: [d1, d2] }; } >x154 : () => { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x155(): (s: Base[]) => any { return n => { var n: Base[]; return null; }; return n => { var n: Base[]; return null; }; } >x155 : () => (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null function x156(): Genric { return { func: n => { return [d1, d2]; } }; return { func: n => { return [d1, d2]; } }; } >x156 : () => Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x157: () => () => Base[] = () => { return () => [d1, d2]; }; >x157 : () => () => Base[] >Base : Base >() => { return () => [d1, d2]; } : () => () => (Derived1 | Derived2)[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x158: () => () => Base[] = () => { return function() { return [d1, d2] }; }; >x158 : () => () => Base[] >Base : Base >() => { return function() { return [d1, d2] }; } : () => () => (Derived1 | Derived2)[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x159: () => () => Base[] = () => { return function named() { return [d1, d2] }; }; >x159 : () => () => Base[] >Base : Base >() => { return function named() { return [d1, d2] }; } : () => () => (Derived1 | Derived2)[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x160: () => { (): Base[]; } = () => { return () => [d1, d2]; }; >x160 : () => () => Base[] >Base : Base >() => { return () => [d1, d2]; } : () => () => (Derived1 | Derived2)[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x161: () => { (): Base[]; } = () => { return function() { return [d1, d2] }; }; >x161 : () => () => Base[] >Base : Base >() => { return function() { return [d1, d2] }; } : () => () => (Derived1 | Derived2)[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x162: () => { (): Base[]; } = () => { return function named() { return [d1, d2] }; }; >x162 : () => () => Base[] >Base : Base >() => { return function named() { return [d1, d2] }; } : () => () => (Derived1 | Derived2)[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x163: () => Base[] = () => { return [d1, d2]; }; >x163 : () => Base[] >Base : Base >() => { return [d1, d2]; } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x164: () => Array = () => { return [d1, d2]; }; >x164 : () => Base[] >Array : T[] >Base : Base >() => { return [d1, d2]; } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x165: () => { [n: number]: Base; } = () => { return [d1, d2]; }; >x165 : () => { [n: number]: Base; } >n : number >Base : Base >() => { return [d1, d2]; } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x166: () => {n: Base[]; } = () => { return { n: [d1, d2] }; }; >x166 : () => { n: Base[]; } >n : Base[] >Base : Base >() => { return { n: [d1, d2] }; } : () => { n: (Derived1 | Derived2)[]; } >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x167: () => (s: Base[]) => any = () => { return n => { var n: Base[]; return null; }; }; >x167 : () => (s: Base[]) => any >s : Base[] >Base : Base >() => { return n => { var n: Base[]; return null; }; } : () => (n: Base[]) => any >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null var x168: () => Genric = () => { return { func: n => { return [d1, d2]; } }; }; >x168 : () => Genric >Genric : Genric >Base : Base >() => { return { func: n => { return [d1, d2]; } }; } : () => { func: (n: Base[]) => (Derived1 | Derived2)[]; } >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x169: () => () => Base[] = function() { return () => [d1, d2]; }; >x169 : () => () => Base[] >Base : Base >function() { return () => [d1, d2]; } : () => () => (Derived1 | Derived2)[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x170: () => () => Base[] = function() { return function() { return [d1, d2] }; }; >x170 : () => () => Base[] >Base : Base >function() { return function() { return [d1, d2] }; } : () => () => (Derived1 | Derived2)[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x171: () => () => Base[] = function() { return function named() { return [d1, d2] }; }; >x171 : () => () => Base[] >Base : Base >function() { return function named() { return [d1, d2] }; } : () => () => (Derived1 | Derived2)[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x172: () => { (): Base[]; } = function() { return () => [d1, d2]; }; >x172 : () => () => Base[] >Base : Base >function() { return () => [d1, d2]; } : () => () => (Derived1 | Derived2)[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x173: () => { (): Base[]; } = function() { return function() { return [d1, d2] }; }; >x173 : () => () => Base[] >Base : Base >function() { return function() { return [d1, d2] }; } : () => () => (Derived1 | Derived2)[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x174: () => { (): Base[]; } = function() { return function named() { return [d1, d2] }; }; >x174 : () => () => Base[] >Base : Base >function() { return function named() { return [d1, d2] }; } : () => () => (Derived1 | Derived2)[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x175: () => Base[] = function() { return [d1, d2]; }; >x175 : () => Base[] >Base : Base >function() { return [d1, d2]; } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x176: () => Array = function() { return [d1, d2]; }; >x176 : () => Base[] >Array : T[] >Base : Base >function() { return [d1, d2]; } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x177: () => { [n: number]: Base; } = function() { return [d1, d2]; }; >x177 : () => { [n: number]: Base; } >n : number >Base : Base >function() { return [d1, d2]; } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x178: () => {n: Base[]; } = function() { return { n: [d1, d2] }; }; >x178 : () => { n: Base[]; } >n : Base[] >Base : Base >function() { return { n: [d1, d2] }; } : () => { n: (Derived1 | Derived2)[]; } >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x179: () => (s: Base[]) => any = function() { return n => { var n: Base[]; return null; }; }; >x179 : () => (s: Base[]) => any >s : Base[] >Base : Base >function() { return n => { var n: Base[]; return null; }; } : () => (n: Base[]) => any >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null var x180: () => Genric = function() { return { func: n => { return [d1, d2]; } }; }; >x180 : () => Genric >Genric : Genric >Base : Base >function() { return { func: n => { return [d1, d2]; } }; } : () => { func: (n: Base[]) => (Derived1 | Derived2)[]; } >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x181 { var t: () => Base[] = () => [d1, d2]; } >x181 : typeof x181 >t : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x182 { var t: () => Base[] = function() { return [d1, d2] }; } >x182 : typeof x182 >t : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x183 { var t: () => Base[] = function named() { return [d1, d2] }; } >x183 : typeof x183 >t : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x184 { var t: { (): Base[]; } = () => [d1, d2]; } >x184 : typeof x184 >t : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x185 { var t: { (): Base[]; } = function() { return [d1, d2] }; } >x185 : typeof x185 >t : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x186 { var t: { (): Base[]; } = function named() { return [d1, d2] }; } >x186 : typeof x186 >t : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x187 { var t: Base[] = [d1, d2]; } >x187 : typeof x187 >t : Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x188 { var t: Array = [d1, d2]; } >x188 : typeof x188 >t : Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x189 { var t: { [n: number]: Base; } = [d1, d2]; } >x189 : typeof x189 >t : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x190 { var t: {n: Base[]; } = { n: [d1, d2] }; } >x190 : typeof x190 >t : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x191 { var t: (s: Base[]) => any = n => { var n: Base[]; return null; }; } >x191 : typeof x191 >t : (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null module x192 { var t: Genric = { func: n => { return [d1, d2]; } }; } >x192 : typeof x192 >t : Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x193 { export var t: () => Base[] = () => [d1, d2]; } >x193 : typeof x193 >t : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x194 { export var t: () => Base[] = function() { return [d1, d2] }; } >x194 : typeof x194 >t : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x195 { export var t: () => Base[] = function named() { return [d1, d2] }; } >x195 : typeof x195 >t : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x196 { export var t: { (): Base[]; } = () => [d1, d2]; } >x196 : typeof x196 >t : () => Base[] >Base : Base >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x197 { export var t: { (): Base[]; } = function() { return [d1, d2] }; } >x197 : typeof x197 >t : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x198 { export var t: { (): Base[]; } = function named() { return [d1, d2] }; } >x198 : typeof x198 >t : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x199 { export var t: Base[] = [d1, d2]; } >x199 : typeof x199 >t : Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x200 { export var t: Array = [d1, d2]; } >x200 : typeof x200 >t : Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x201 { export var t: { [n: number]: Base; } = [d1, d2]; } >x201 : typeof x201 >t : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x202 { export var t: {n: Base[]; } = { n: [d1, d2] }; } >x202 : typeof x202 >t : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 module x203 { export var t: (s: Base[]) => any = n => { var n: Base[]; return null; }; } >x203 : typeof x203 >t : (s: Base[]) => any >s : Base[] >Base : Base >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null module x204 { export var t: Genric = { func: n => { return [d1, d2]; } }; } >x204 : typeof x204 >t : Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x206 = <() => Base[]>function() { return [d1, d2] }; >x206 : () => Base[] ><() => Base[]>function() { return [d1, d2] } : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x207 = <() => Base[]>function named() { return [d1, d2] }; >x207 : () => Base[] ><() => Base[]>function named() { return [d1, d2] } : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x209 = <{ (): Base[]; }>function() { return [d1, d2] }; >x209 : () => Base[] ><{ (): Base[]; }>function() { return [d1, d2] } : () => Base[] >Base : Base >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x210 = <{ (): Base[]; }>function named() { return [d1, d2] }; >x210 : () => Base[] ><{ (): Base[]; }>function named() { return [d1, d2] } : () => Base[] >Base : Base >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x211 = [d1, d2]; >x211 : Base[] >[d1, d2] : Base[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x212 = >[d1, d2]; >x212 : Base[] >>[d1, d2] : Base[] >Array : T[] >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x213 = <{ [n: number]: Base; }>[d1, d2]; >x213 : { [n: number]: Base; } ><{ [n: number]: Base; }>[d1, d2] : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x214 = <{n: Base[]; } >{ n: [d1, d2] }; >x214 : { n: Base[]; } ><{n: Base[]; } >{ n: [d1, d2] } : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x216 = >{ func: n => { return [d1, d2]; } }; >x216 : Genric >>{ func: n => { return [d1, d2]; } } : Genric >Genric : Genric >Base : Base >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x217 = (<() => Base[]>undefined) || function() { return [d1, d2] }; >x217 : () => Base[] >(<() => Base[]>undefined) || function() { return [d1, d2] } : () => Base[] >(<() => Base[]>undefined) : () => Base[] ><() => Base[]>undefined : () => Base[] >Base : Base >undefined : undefined >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x218 = (<() => Base[]>undefined) || function named() { return [d1, d2] }; >x218 : () => Base[] >(<() => Base[]>undefined) || function named() { return [d1, d2] } : () => Base[] >(<() => Base[]>undefined) : () => Base[] ><() => Base[]>undefined : () => Base[] >Base : Base >undefined : undefined >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x219 = (<{ (): Base[]; }>undefined) || function() { return [d1, d2] }; >x219 : () => Base[] >(<{ (): Base[]; }>undefined) || function() { return [d1, d2] } : () => Base[] >(<{ (): Base[]; }>undefined) : () => Base[] ><{ (): Base[]; }>undefined : () => Base[] >Base : Base >undefined : undefined >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x220 = (<{ (): Base[]; }>undefined) || function named() { return [d1, d2] }; >x220 : () => Base[] >(<{ (): Base[]; }>undefined) || function named() { return [d1, d2] } : () => Base[] >(<{ (): Base[]; }>undefined) : () => Base[] ><{ (): Base[]; }>undefined : () => Base[] >Base : Base >undefined : undefined >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x221 = (undefined) || [d1, d2]; >x221 : Base[] >(undefined) || [d1, d2] : Base[] >(undefined) : Base[] >undefined : Base[] >Base : Base >undefined : undefined >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x222 = (>undefined) || [d1, d2]; >x222 : Base[] >(>undefined) || [d1, d2] : Base[] >(>undefined) : Base[] >>undefined : Base[] >Array : T[] >Base : Base >undefined : undefined >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x223 = (<{ [n: number]: Base; }>undefined) || [d1, d2]; >x223 : { [n: number]: Base; } >(<{ [n: number]: Base; }>undefined) || [d1, d2] : { [n: number]: Base; } >(<{ [n: number]: Base; }>undefined) : { [n: number]: Base; } ><{ [n: number]: Base; }>undefined : { [n: number]: Base; } >n : number >Base : Base >undefined : undefined >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x224 = (<{n: Base[]; } >undefined) || { n: [d1, d2] }; >x224 : { n: Base[]; } >(<{n: Base[]; } >undefined) || { n: [d1, d2] } : { n: Base[]; } >(<{n: Base[]; } >undefined) : { n: Base[]; } ><{n: Base[]; } >undefined : { n: Base[]; } >n : Base[] >Base : Base >undefined : undefined >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x225: () => Base[]; x225 = () => [d1, d2]; >x225 : () => Base[] >Base : Base >x225 = () => [d1, d2] : () => (Derived1 | Derived2)[] >x225 : () => Base[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x226: () => Base[]; x226 = function() { return [d1, d2] }; >x226 : () => Base[] >Base : Base >x226 = function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >x226 : () => Base[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x227: () => Base[]; x227 = function named() { return [d1, d2] }; >x227 : () => Base[] >Base : Base >x227 = function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >x227 : () => Base[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x228: { (): Base[]; }; x228 = () => [d1, d2]; >x228 : () => Base[] >Base : Base >x228 = () => [d1, d2] : () => (Derived1 | Derived2)[] >x228 : () => Base[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x229: { (): Base[]; }; x229 = function() { return [d1, d2] }; >x229 : () => Base[] >Base : Base >x229 = function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >x229 : () => Base[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x230: { (): Base[]; }; x230 = function named() { return [d1, d2] }; >x230 : () => Base[] >Base : Base >x230 = function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >x230 : () => Base[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x231: Base[]; x231 = [d1, d2]; >x231 : Base[] >Base : Base >x231 = [d1, d2] : (Derived1 | Derived2)[] >x231 : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x232: Array; x232 = [d1, d2]; >x232 : Base[] >Array : T[] >Base : Base >x232 = [d1, d2] : (Derived1 | Derived2)[] >x232 : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x233: { [n: number]: Base; }; x233 = [d1, d2]; >x233 : { [n: number]: Base; } >n : number >Base : Base >x233 = [d1, d2] : (Derived1 | Derived2)[] >x233 : { [n: number]: Base; } >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x234: {n: Base[]; } ; x234 = { n: [d1, d2] }; >x234 : { n: Base[]; } >n : Base[] >Base : Base >x234 = { n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >x234 : { n: Base[]; } >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x235: (s: Base[]) => any; x235 = n => { var n: Base[]; return null; }; >x235 : (s: Base[]) => any >s : Base[] >Base : Base >x235 = n => { var n: Base[]; return null; } : (n: Base[]) => any >x235 : (s: Base[]) => any >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null var x236: Genric; x236 = { func: n => { return [d1, d2]; } }; >x236 : Genric >Genric : Genric >Base : Base >x236 = { func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >x236 : Genric >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x237: { n: () => Base[]; } = { n: () => [d1, d2] }; >x237 : { n: () => Base[]; } >n : () => Base[] >Base : Base >{ n: () => [d1, d2] } : { n: () => (Derived1 | Derived2)[]; } >n : () => (Derived1 | Derived2)[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x238: { n: () => Base[]; } = { n: function() { return [d1, d2] } }; >x238 : { n: () => Base[]; } >n : () => Base[] >Base : Base >{ n: function() { return [d1, d2] } } : { n: () => (Derived1 | Derived2)[]; } >n : () => (Derived1 | Derived2)[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x239: { n: () => Base[]; } = { n: function named() { return [d1, d2] } }; >x239 : { n: () => Base[]; } >n : () => Base[] >Base : Base >{ n: function named() { return [d1, d2] } } : { n: () => (Derived1 | Derived2)[]; } >n : () => (Derived1 | Derived2)[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x240: { n: { (): Base[]; }; } = { n: () => [d1, d2] }; >x240 : { n: () => Base[]; } >n : () => Base[] >Base : Base >{ n: () => [d1, d2] } : { n: () => (Derived1 | Derived2)[]; } >n : () => (Derived1 | Derived2)[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x241: { n: { (): Base[]; }; } = { n: function() { return [d1, d2] } }; >x241 : { n: () => Base[]; } >n : () => Base[] >Base : Base >{ n: function() { return [d1, d2] } } : { n: () => (Derived1 | Derived2)[]; } >n : () => (Derived1 | Derived2)[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x242: { n: { (): Base[]; }; } = { n: function named() { return [d1, d2] } }; >x242 : { n: () => Base[]; } >n : () => Base[] >Base : Base >{ n: function named() { return [d1, d2] } } : { n: () => (Derived1 | Derived2)[]; } >n : () => (Derived1 | Derived2)[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x243: { n: Base[]; } = { n: [d1, d2] }; >x243 : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x244: { n: Array; } = { n: [d1, d2] }; >x244 : { n: Base[]; } >n : Base[] >Array : T[] >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x245: { n: { [n: number]: Base; }; } = { n: [d1, d2] }; >x245 : { n: { [n: number]: Base; }; } >n : { [n: number]: Base; } >n : number >Base : Base >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x246: { n: {n: Base[]; } ; } = { n: { n: [d1, d2] } }; >x246 : { n: { n: Base[]; }; } >n : { n: Base[]; } >n : Base[] >Base : Base >{ n: { n: [d1, d2] } } : { n: { n: (Derived1 | Derived2)[]; }; } >n : { n: (Derived1 | Derived2)[]; } >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x247: { n: (s: Base[]) => any; } = { n: n => { var n: Base[]; return null; } }; >x247 : { n: (s: Base[]) => any; } >n : (s: Base[]) => any >s : Base[] >Base : Base >{ n: n => { var n: Base[]; return null; } } : { n: (n: Base[]) => any; } >n : (n: Base[]) => any >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null var x248: { n: Genric; } = { n: { func: n => { return [d1, d2]; } } }; >x248 : { n: Genric; } >n : Genric >Genric : Genric >Base : Base >{ n: { func: n => { return [d1, d2]; } } } : { n: { func: (n: Base[]) => (Derived1 | Derived2)[]; }; } >n : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x252: { (): Base[]; }[] = [() => [d1, d2]]; >x252 : (() => Base[])[] >Base : Base >[() => [d1, d2]] : (() => (Derived1 | Derived2)[])[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x253: { (): Base[]; }[] = [function() { return [d1, d2] }]; >x253 : (() => Base[])[] >Base : Base >[function() { return [d1, d2] }] : (() => (Derived1 | Derived2)[])[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x254: { (): Base[]; }[] = [function named() { return [d1, d2] }]; >x254 : (() => Base[])[] >Base : Base >[function named() { return [d1, d2] }] : (() => (Derived1 | Derived2)[])[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x255: Base[][] = [[d1, d2]]; >x255 : Base[][] >Base : Base >[[d1, d2]] : (Derived1 | Derived2)[][] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x256: Array[] = [[d1, d2]]; >x256 : Base[][] >Array : T[] >Base : Base >[[d1, d2]] : (Derived1 | Derived2)[][] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x257: { [n: number]: Base; }[] = [[d1, d2]]; >x257 : { [n: number]: Base; }[] >n : number >Base : Base >[[d1, d2]] : (Derived1 | Derived2)[][] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x258: {n: Base[]; } [] = [{ n: [d1, d2] }]; >x258 : { n: Base[]; }[] >n : Base[] >Base : Base >[{ n: [d1, d2] }] : { n: (Derived1 | Derived2)[]; }[] >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x260: Genric[] = [{ func: n => { return [d1, d2]; } }]; >x260 : Genric[] >Genric : Genric >Base : Base >[{ func: n => { return [d1, d2]; } }] : { func: (n: Base[]) => (Derived1 | Derived2)[]; }[] >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x261: () => Base[] = function() { return [d1, d2] } || undefined; >x261 : () => Base[] >Base : Base >function() { return [d1, d2] } || undefined : () => (Derived1 | Derived2)[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x262: () => Base[] = function named() { return [d1, d2] } || undefined; >x262 : () => Base[] >Base : Base >function named() { return [d1, d2] } || undefined : () => (Derived1 | Derived2)[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x263: { (): Base[]; } = function() { return [d1, d2] } || undefined; >x263 : () => Base[] >Base : Base >function() { return [d1, d2] } || undefined : () => (Derived1 | Derived2)[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x264: { (): Base[]; } = function named() { return [d1, d2] } || undefined; >x264 : () => Base[] >Base : Base >function named() { return [d1, d2] } || undefined : () => (Derived1 | Derived2)[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x265: Base[] = [d1, d2] || undefined; >x265 : Base[] >Base : Base >[d1, d2] || undefined : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x266: Array = [d1, d2] || undefined; >x266 : Base[] >Array : T[] >Base : Base >[d1, d2] || undefined : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x267: { [n: number]: Base; } = [d1, d2] || undefined; >x267 : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] || undefined : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x268: {n: Base[]; } = { n: [d1, d2] } || undefined; >x268 : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } || undefined : { n: (Derived1 | Derived2)[]; } >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x269: () => Base[] = undefined || function() { return [d1, d2] }; >x269 : () => Base[] >Base : Base >undefined || function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >undefined : undefined >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x270: () => Base[] = undefined || function named() { return [d1, d2] }; >x270 : () => Base[] >Base : Base >undefined || function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >undefined : undefined >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x271: { (): Base[]; } = undefined || function() { return [d1, d2] }; >x271 : () => Base[] >Base : Base >undefined || function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >undefined : undefined >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x272: { (): Base[]; } = undefined || function named() { return [d1, d2] }; >x272 : () => Base[] >Base : Base >undefined || function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >undefined : undefined >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x273: Base[] = undefined || [d1, d2]; >x273 : Base[] >Base : Base >undefined || [d1, d2] : (Derived1 | Derived2)[] >undefined : undefined >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x274: Array = undefined || [d1, d2]; >x274 : Base[] >Array : T[] >Base : Base >undefined || [d1, d2] : (Derived1 | Derived2)[] >undefined : undefined >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x275: { [n: number]: Base; } = undefined || [d1, d2]; >x275 : { [n: number]: Base; } >n : number >Base : Base >undefined || [d1, d2] : (Derived1 | Derived2)[] >undefined : undefined >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x276: {n: Base[]; } = undefined || { n: [d1, d2] }; >x276 : { n: Base[]; } >n : Base[] >Base : Base >undefined || { n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >undefined : undefined >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x277: () => Base[] = function() { return [d1, d2] } || function() { return [d1, d2] }; >x277 : () => Base[] >Base : Base >function() { return [d1, d2] } || function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x278: () => Base[] = function named() { return [d1, d2] } || function named() { return [d1, d2] }; >x278 : () => Base[] >Base : Base >function named() { return [d1, d2] } || function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x279: { (): Base[]; } = function() { return [d1, d2] } || function() { return [d1, d2] }; >x279 : () => Base[] >Base : Base >function() { return [d1, d2] } || function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x280: { (): Base[]; } = function named() { return [d1, d2] } || function named() { return [d1, d2] }; >x280 : () => Base[] >Base : Base >function named() { return [d1, d2] } || function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x281: Base[] = [d1, d2] || [d1, d2]; >x281 : Base[] >Base : Base >[d1, d2] || [d1, d2] : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x282: Array = [d1, d2] || [d1, d2]; >x282 : Base[] >Array : T[] >Base : Base >[d1, d2] || [d1, d2] : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x283: { [n: number]: Base; } = [d1, d2] || [d1, d2]; >x283 : { [n: number]: Base; } >n : number >Base : Base >[d1, d2] || [d1, d2] : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x284: {n: Base[]; } = { n: [d1, d2] } || { n: [d1, d2] }; >x284 : { n: Base[]; } >n : Base[] >Base : Base >{ n: [d1, d2] } || { n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x285: () => Base[] = true ? () => [d1, d2] : () => [d1, d2]; >x285 : () => Base[] >Base : Base >true ? () => [d1, d2] : () => [d1, d2] : () => (Derived1 | Derived2)[] >true : boolean >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x286: () => Base[] = true ? function() { return [d1, d2] } : function() { return [d1, d2] }; >x286 : () => Base[] >Base : Base >true ? function() { return [d1, d2] } : function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >true : boolean >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x287: () => Base[] = true ? function named() { return [d1, d2] } : function named() { return [d1, d2] }; >x287 : () => Base[] >Base : Base >true ? function named() { return [d1, d2] } : function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >true : boolean >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x288: { (): Base[]; } = true ? () => [d1, d2] : () => [d1, d2]; >x288 : () => Base[] >Base : Base >true ? () => [d1, d2] : () => [d1, d2] : () => (Derived1 | Derived2)[] >true : boolean >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x289: { (): Base[]; } = true ? function() { return [d1, d2] } : function() { return [d1, d2] }; >x289 : () => Base[] >Base : Base >true ? function() { return [d1, d2] } : function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >true : boolean >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x290: { (): Base[]; } = true ? function named() { return [d1, d2] } : function named() { return [d1, d2] }; >x290 : () => Base[] >Base : Base >true ? function named() { return [d1, d2] } : function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >true : boolean >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x291: Base[] = true ? [d1, d2] : [d1, d2]; >x291 : Base[] >Base : Base >true ? [d1, d2] : [d1, d2] : (Derived1 | Derived2)[] >true : boolean >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x292: Array = true ? [d1, d2] : [d1, d2]; >x292 : Base[] >Array : T[] >Base : Base >true ? [d1, d2] : [d1, d2] : (Derived1 | Derived2)[] >true : boolean >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x293: { [n: number]: Base; } = true ? [d1, d2] : [d1, d2]; >x293 : { [n: number]: Base; } >n : number >Base : Base >true ? [d1, d2] : [d1, d2] : (Derived1 | Derived2)[] >true : boolean >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x294: {n: Base[]; } = true ? { n: [d1, d2] } : { n: [d1, d2] }; >x294 : { n: Base[]; } >n : Base[] >Base : Base >true ? { n: [d1, d2] } : { n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >true : boolean >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x295: (s: Base[]) => any = true ? n => { var n: Base[]; return null; } : n => { var n: Base[]; return null; }; >x295 : (s: Base[]) => any >s : Base[] >Base : Base >true ? n => { var n: Base[]; return null; } : n => { var n: Base[]; return null; } : (n: Base[]) => any >true : boolean >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null var x296: Genric = true ? { func: n => { return [d1, d2]; } } : { func: n => { return [d1, d2]; } }; >x296 : Genric >Genric : Genric >Base : Base >true ? { func: n => { return [d1, d2]; } } : { func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >true : boolean >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x297: () => Base[] = true ? undefined : () => [d1, d2]; >x297 : () => Base[] >Base : Base >true ? undefined : () => [d1, d2] : () => (Derived1 | Derived2)[] >true : boolean >undefined : undefined >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x298: () => Base[] = true ? undefined : function() { return [d1, d2] }; >x298 : () => Base[] >Base : Base >true ? undefined : function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >true : boolean >undefined : undefined >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x299: () => Base[] = true ? undefined : function named() { return [d1, d2] }; >x299 : () => Base[] >Base : Base >true ? undefined : function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >true : boolean >undefined : undefined >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x300: { (): Base[]; } = true ? undefined : () => [d1, d2]; >x300 : () => Base[] >Base : Base >true ? undefined : () => [d1, d2] : () => (Derived1 | Derived2)[] >true : boolean >undefined : undefined >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x301: { (): Base[]; } = true ? undefined : function() { return [d1, d2] }; >x301 : () => Base[] >Base : Base >true ? undefined : function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >true : boolean >undefined : undefined >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x302: { (): Base[]; } = true ? undefined : function named() { return [d1, d2] }; >x302 : () => Base[] >Base : Base >true ? undefined : function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >true : boolean >undefined : undefined >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x303: Base[] = true ? undefined : [d1, d2]; >x303 : Base[] >Base : Base >true ? undefined : [d1, d2] : (Derived1 | Derived2)[] >true : boolean >undefined : undefined >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x304: Array = true ? undefined : [d1, d2]; >x304 : Base[] >Array : T[] >Base : Base >true ? undefined : [d1, d2] : (Derived1 | Derived2)[] >true : boolean >undefined : undefined >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x305: { [n: number]: Base; } = true ? undefined : [d1, d2]; >x305 : { [n: number]: Base; } >n : number >Base : Base >true ? undefined : [d1, d2] : (Derived1 | Derived2)[] >true : boolean >undefined : undefined >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x306: {n: Base[]; } = true ? undefined : { n: [d1, d2] }; >x306 : { n: Base[]; } >n : Base[] >Base : Base >true ? undefined : { n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >true : boolean >undefined : undefined >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x307: (s: Base[]) => any = true ? undefined : n => { var n: Base[]; return null; }; >x307 : (s: Base[]) => any >s : Base[] >Base : Base >true ? undefined : n => { var n: Base[]; return null; } : (n: Base[]) => any >true : boolean >undefined : undefined >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null var x308: Genric = true ? undefined : { func: n => { return [d1, d2]; } }; >x308 : Genric >Genric : Genric >Base : Base >true ? undefined : { func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >true : boolean >undefined : undefined >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x309: () => Base[] = true ? () => [d1, d2] : undefined; >x309 : () => Base[] >Base : Base >true ? () => [d1, d2] : undefined : () => (Derived1 | Derived2)[] >true : boolean >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x310: () => Base[] = true ? function() { return [d1, d2] } : undefined; >x310 : () => Base[] >Base : Base >true ? function() { return [d1, d2] } : undefined : () => (Derived1 | Derived2)[] >true : boolean >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x311: () => Base[] = true ? function named() { return [d1, d2] } : undefined; >x311 : () => Base[] >Base : Base >true ? function named() { return [d1, d2] } : undefined : () => (Derived1 | Derived2)[] >true : boolean >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x312: { (): Base[]; } = true ? () => [d1, d2] : undefined; >x312 : () => Base[] >Base : Base >true ? () => [d1, d2] : undefined : () => (Derived1 | Derived2)[] >true : boolean >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x313: { (): Base[]; } = true ? function() { return [d1, d2] } : undefined; >x313 : () => Base[] >Base : Base >true ? function() { return [d1, d2] } : undefined : () => (Derived1 | Derived2)[] >true : boolean >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x314: { (): Base[]; } = true ? function named() { return [d1, d2] } : undefined; >x314 : () => Base[] >Base : Base >true ? function named() { return [d1, d2] } : undefined : () => (Derived1 | Derived2)[] >true : boolean >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x315: Base[] = true ? [d1, d2] : undefined; >x315 : Base[] >Base : Base >true ? [d1, d2] : undefined : (Derived1 | Derived2)[] >true : boolean >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x316: Array = true ? [d1, d2] : undefined; >x316 : Base[] >Array : T[] >Base : Base >true ? [d1, d2] : undefined : (Derived1 | Derived2)[] >true : boolean >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x317: { [n: number]: Base; } = true ? [d1, d2] : undefined; >x317 : { [n: number]: Base; } >n : number >Base : Base >true ? [d1, d2] : undefined : (Derived1 | Derived2)[] >true : boolean >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x318: {n: Base[]; } = true ? { n: [d1, d2] } : undefined; >x318 : { n: Base[]; } >n : Base[] >Base : Base >true ? { n: [d1, d2] } : undefined : { n: (Derived1 | Derived2)[]; } >true : boolean >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined var x319: (s: Base[]) => any = true ? n => { var n: Base[]; return null; } : undefined; >x319 : (s: Base[]) => any >s : Base[] >Base : Base >true ? n => { var n: Base[]; return null; } : undefined : (n: Base[]) => any >true : boolean >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null >undefined : undefined var x320: Genric = true ? { func: n => { return [d1, d2]; } } : undefined; >x320 : Genric >Genric : Genric >Base : Base >true ? { func: n => { return [d1, d2]; } } : undefined : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >true : boolean >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 >undefined : undefined function x321(n: () => Base[]) { }; x321(() => [d1, d2]); >x321 : (n: () => Base[]) => void >n : () => Base[] >Base : Base >x321(() => [d1, d2]) : void >x321 : (n: () => Base[]) => void >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x322(n: () => Base[]) { }; x322(function() { return [d1, d2] }); >x322 : (n: () => Base[]) => void >n : () => Base[] >Base : Base >x322(function() { return [d1, d2] }) : void >x322 : (n: () => Base[]) => void >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x323(n: () => Base[]) { }; x323(function named() { return [d1, d2] }); >x323 : (n: () => Base[]) => void >n : () => Base[] >Base : Base >x323(function named() { return [d1, d2] }) : void >x323 : (n: () => Base[]) => void >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x324(n: { (): Base[]; }) { }; x324(() => [d1, d2]); >x324 : (n: () => Base[]) => void >n : () => Base[] >Base : Base >x324(() => [d1, d2]) : void >x324 : (n: () => Base[]) => void >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x325(n: { (): Base[]; }) { }; x325(function() { return [d1, d2] }); >x325 : (n: () => Base[]) => void >n : () => Base[] >Base : Base >x325(function() { return [d1, d2] }) : void >x325 : (n: () => Base[]) => void >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x326(n: { (): Base[]; }) { }; x326(function named() { return [d1, d2] }); >x326 : (n: () => Base[]) => void >n : () => Base[] >Base : Base >x326(function named() { return [d1, d2] }) : void >x326 : (n: () => Base[]) => void >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x327(n: Base[]) { }; x327([d1, d2]); >x327 : (n: Base[]) => void >n : Base[] >Base : Base >x327([d1, d2]) : void >x327 : (n: Base[]) => void >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x328(n: Array) { }; x328([d1, d2]); >x328 : (n: Base[]) => void >n : Base[] >Array : T[] >Base : Base >x328([d1, d2]) : void >x328 : (n: Base[]) => void >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x329(n: { [n: number]: Base; }) { }; x329([d1, d2]); >x329 : (n: { [n: number]: Base; }) => void >n : { [n: number]: Base; } >n : number >Base : Base >x329([d1, d2]) : void >x329 : (n: { [n: number]: Base; }) => void >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x330(n: {n: Base[]; } ) { }; x330({ n: [d1, d2] }); >x330 : (n: { n: Base[]; }) => void >n : { n: Base[]; } >n : Base[] >Base : Base >x330({ n: [d1, d2] }) : void >x330 : (n: { n: Base[]; }) => void >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 function x331(n: (s: Base[]) => any) { }; x331(n => { var n: Base[]; return null; }); >x331 : (n: (s: Base[]) => any) => void >n : (s: Base[]) => any >s : Base[] >Base : Base >x331(n => { var n: Base[]; return null; }) : void >x331 : (n: (s: Base[]) => any) => void >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null function x332(n: Genric) { }; x332({ func: n => { return [d1, d2]; } }); >x332 : (n: Genric) => void >n : Genric >Genric : Genric >Base : Base >x332({ func: n => { return [d1, d2]; } }) : void >x332 : (n: Genric) => void >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x333 = (n: () => Base[]) => n; x333(() => [d1, d2]); >x333 : (n: () => Base[]) => () => Base[] >(n: () => Base[]) => n : (n: () => Base[]) => () => Base[] >n : () => Base[] >Base : Base >n : () => Base[] >x333(() => [d1, d2]) : () => Base[] >x333 : (n: () => Base[]) => () => Base[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x334 = (n: () => Base[]) => n; x334(function() { return [d1, d2] }); >x334 : (n: () => Base[]) => () => Base[] >(n: () => Base[]) => n : (n: () => Base[]) => () => Base[] >n : () => Base[] >Base : Base >n : () => Base[] >x334(function() { return [d1, d2] }) : () => Base[] >x334 : (n: () => Base[]) => () => Base[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x335 = (n: () => Base[]) => n; x335(function named() { return [d1, d2] }); >x335 : (n: () => Base[]) => () => Base[] >(n: () => Base[]) => n : (n: () => Base[]) => () => Base[] >n : () => Base[] >Base : Base >n : () => Base[] >x335(function named() { return [d1, d2] }) : () => Base[] >x335 : (n: () => Base[]) => () => Base[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x336 = (n: { (): Base[]; }) => n; x336(() => [d1, d2]); >x336 : (n: () => Base[]) => () => Base[] >(n: { (): Base[]; }) => n : (n: () => Base[]) => () => Base[] >n : () => Base[] >Base : Base >n : () => Base[] >x336(() => [d1, d2]) : () => Base[] >x336 : (n: () => Base[]) => () => Base[] >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x337 = (n: { (): Base[]; }) => n; x337(function() { return [d1, d2] }); >x337 : (n: () => Base[]) => () => Base[] >(n: { (): Base[]; }) => n : (n: () => Base[]) => () => Base[] >n : () => Base[] >Base : Base >n : () => Base[] >x337(function() { return [d1, d2] }) : () => Base[] >x337 : (n: () => Base[]) => () => Base[] >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x338 = (n: { (): Base[]; }) => n; x338(function named() { return [d1, d2] }); >x338 : (n: () => Base[]) => () => Base[] >(n: { (): Base[]; }) => n : (n: () => Base[]) => () => Base[] >n : () => Base[] >Base : Base >n : () => Base[] >x338(function named() { return [d1, d2] }) : () => Base[] >x338 : (n: () => Base[]) => () => Base[] >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x339 = (n: Base[]) => n; x339([d1, d2]); >x339 : (n: Base[]) => Base[] >(n: Base[]) => n : (n: Base[]) => Base[] >n : Base[] >Base : Base >n : Base[] >x339([d1, d2]) : Base[] >x339 : (n: Base[]) => Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x340 = (n: Array) => n; x340([d1, d2]); >x340 : (n: Base[]) => Base[] >(n: Array) => n : (n: Base[]) => Base[] >n : Base[] >Array : T[] >Base : Base >n : Base[] >x340([d1, d2]) : Base[] >x340 : (n: Base[]) => Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x341 = (n: { [n: number]: Base; }) => n; x341([d1, d2]); >x341 : (n: { [n: number]: Base; }) => { [n: number]: Base; } >(n: { [n: number]: Base; }) => n : (n: { [n: number]: Base; }) => { [n: number]: Base; } >n : { [n: number]: Base; } >n : number >Base : Base >n : { [n: number]: Base; } >x341([d1, d2]) : { [n: number]: Base; } >x341 : (n: { [n: number]: Base; }) => { [n: number]: Base; } >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x342 = (n: {n: Base[]; } ) => n; x342({ n: [d1, d2] }); >x342 : (n: { n: Base[]; }) => { n: Base[]; } >(n: {n: Base[]; } ) => n : (n: { n: Base[]; }) => { n: Base[]; } >n : { n: Base[]; } >n : Base[] >Base : Base >n : { n: Base[]; } >x342({ n: [d1, d2] }) : { n: Base[]; } >x342 : (n: { n: Base[]; }) => { n: Base[]; } >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x343 = (n: (s: Base[]) => any) => n; x343(n => { var n: Base[]; return null; }); >x343 : (n: (s: Base[]) => any) => (s: Base[]) => any >(n: (s: Base[]) => any) => n : (n: (s: Base[]) => any) => (s: Base[]) => any >n : (s: Base[]) => any >s : Base[] >Base : Base >n : (s: Base[]) => any >x343(n => { var n: Base[]; return null; }) : (s: Base[]) => any >x343 : (n: (s: Base[]) => any) => (s: Base[]) => any >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null var x344 = (n: Genric) => n; x344({ func: n => { return [d1, d2]; } }); >x344 : (n: Genric) => Genric >(n: Genric) => n : (n: Genric) => Genric >n : Genric >Genric : Genric >Base : Base >n : Genric >x344({ func: n => { return [d1, d2]; } }) : Genric >x344 : (n: Genric) => Genric >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x345 = function(n: () => Base[]) { }; x345(() => [d1, d2]); >x345 : (n: () => Base[]) => void >function(n: () => Base[]) { } : (n: () => Base[]) => void >n : () => Base[] >Base : Base >x345(() => [d1, d2]) : void >x345 : (n: () => Base[]) => void >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x346 = function(n: () => Base[]) { }; x346(function() { return [d1, d2] }); >x346 : (n: () => Base[]) => void >function(n: () => Base[]) { } : (n: () => Base[]) => void >n : () => Base[] >Base : Base >x346(function() { return [d1, d2] }) : void >x346 : (n: () => Base[]) => void >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x347 = function(n: () => Base[]) { }; x347(function named() { return [d1, d2] }); >x347 : (n: () => Base[]) => void >function(n: () => Base[]) { } : (n: () => Base[]) => void >n : () => Base[] >Base : Base >x347(function named() { return [d1, d2] }) : void >x347 : (n: () => Base[]) => void >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x348 = function(n: { (): Base[]; }) { }; x348(() => [d1, d2]); >x348 : (n: () => Base[]) => void >function(n: { (): Base[]; }) { } : (n: () => Base[]) => void >n : () => Base[] >Base : Base >x348(() => [d1, d2]) : void >x348 : (n: () => Base[]) => void >() => [d1, d2] : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x349 = function(n: { (): Base[]; }) { }; x349(function() { return [d1, d2] }); >x349 : (n: () => Base[]) => void >function(n: { (): Base[]; }) { } : (n: () => Base[]) => void >n : () => Base[] >Base : Base >x349(function() { return [d1, d2] }) : void >x349 : (n: () => Base[]) => void >function() { return [d1, d2] } : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x350 = function(n: { (): Base[]; }) { }; x350(function named() { return [d1, d2] }); >x350 : (n: () => Base[]) => void >function(n: { (): Base[]; }) { } : (n: () => Base[]) => void >n : () => Base[] >Base : Base >x350(function named() { return [d1, d2] }) : void >x350 : (n: () => Base[]) => void >function named() { return [d1, d2] } : () => (Derived1 | Derived2)[] >named : () => (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x351 = function(n: Base[]) { }; x351([d1, d2]); >x351 : (n: Base[]) => void >function(n: Base[]) { } : (n: Base[]) => void >n : Base[] >Base : Base >x351([d1, d2]) : void >x351 : (n: Base[]) => void >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x352 = function(n: Array) { }; x352([d1, d2]); >x352 : (n: Base[]) => void >function(n: Array) { } : (n: Base[]) => void >n : Base[] >Array : T[] >Base : Base >x352([d1, d2]) : void >x352 : (n: Base[]) => void >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x353 = function(n: { [n: number]: Base; }) { }; x353([d1, d2]); >x353 : (n: { [n: number]: Base; }) => void >function(n: { [n: number]: Base; }) { } : (n: { [n: number]: Base; }) => void >n : { [n: number]: Base; } >n : number >Base : Base >x353([d1, d2]) : void >x353 : (n: { [n: number]: Base; }) => void >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x354 = function(n: {n: Base[]; } ) { }; x354({ n: [d1, d2] }); >x354 : (n: { n: Base[]; }) => void >function(n: {n: Base[]; } ) { } : (n: { n: Base[]; }) => void >n : { n: Base[]; } >n : Base[] >Base : Base >x354({ n: [d1, d2] }) : void >x354 : (n: { n: Base[]; }) => void >{ n: [d1, d2] } : { n: (Derived1 | Derived2)[]; } >n : (Derived1 | Derived2)[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2 var x355 = function(n: (s: Base[]) => any) { }; x355(n => { var n: Base[]; return null; }); >x355 : (n: (s: Base[]) => any) => void >function(n: (s: Base[]) => any) { } : (n: (s: Base[]) => any) => void >n : (s: Base[]) => any >s : Base[] >Base : Base >x355(n => { var n: Base[]; return null; }) : void >x355 : (n: (s: Base[]) => any) => void >n => { var n: Base[]; return null; } : (n: Base[]) => any >n : Base[] >n : Base[] >Base : Base >null : null var x356 = function(n: Genric) { }; x356({ func: n => { return [d1, d2]; } }); >x356 : (n: Genric) => void >function(n: Genric) { } : (n: Genric) => void >n : Genric >Genric : Genric >Base : Base >x356({ func: n => { return [d1, d2]; } }) : void >x356 : (n: Genric) => void >{ func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; } >func : (n: Base[]) => (Derived1 | Derived2)[] >n => { return [d1, d2]; } : (n: Base[]) => (Derived1 | Derived2)[] >n : Base[] >[d1, d2] : (Derived1 | Derived2)[] >d1 : Derived1 >d2 : Derived2