TypeScript/tests/baselines/reference/generatedContextualTyping.types
2015-04-15 16:44:20 -07:00

3769 lines
112 KiB
Plaintext

=== 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<T> { func(n: T[]); }
>Genric : Genric<T>
>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<Base> = [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<Base> = { func: n => { return [d1, d2]; } };
>x12 : Genric<Base>
>Genric : Genric<T>
>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<Base> = [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<Base> = { func: n => { return [d1, d2]; } } }
>x24 : x24
>member : Genric<Base>
>Genric : Genric<T>
>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<Base> = [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<Base> = { func: n => { return [d1, d2]; } } }
>x36 : x36
>member : Genric<Base>
>Genric : Genric<T>
>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<Base> = [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<Base> = { func: n => { return [d1, d2]; } } }
>x48 : x48
>member : Genric<Base>
>Genric : Genric<T>
>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<Base> = [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<Base> = { func: n => { return [d1, d2]; } } }
>x60 : x60
>member : Genric<Base>
>Genric : Genric<T>
>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<Base> = [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<Base> = { func: n => { return [d1, d2]; } } }
>x72 : x72
>member : Genric<Base>
>Genric : Genric<T>
>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<Base> = [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<Base> = { func: n => { return [d1, d2]; } } }
>x84 : x84
>member : Genric<Base>
>Genric : Genric<T>
>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<Base> = [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<Base> = { func: n => { return [d1, d2]; } }) { } }
>x96 : x96
>parm : Genric<Base>
>Genric : Genric<T>
>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<Base> = [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<Base> = { func: n => { return [d1, d2]; } }) { } }
>x108 : x108
>parm : Genric<Base>
>Genric : Genric<T>
>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<Base> = [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<Base> = { func: n => { return [d1, d2]; } }) { } }
>x120 : x120
>parm : Genric<Base>
>Genric : Genric<T>
>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<Base> = [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<Base> = { func: n => { return [d1, d2]; } }) { }
>x132 : (parm?: Genric<Base>) => void
>parm : Genric<Base>
>Genric : Genric<T>
>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<Base> { 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<Base> { return { func: n => { return [d1, d2]; } }; }
>x144 : () => Genric<Base>
>Genric : Genric<T>
>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<Base> { 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<Base> { return { func: n => { return [d1, d2]; } }; return { func: n => { return [d1, d2]; } }; }
>x156 : () => Genric<Base>
>Genric : Genric<T>
>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<Base> = () => { 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<Base> = () => { return { func: n => { return [d1, d2]; } }; };
>x168 : () => Genric<Base>
>Genric : Genric<T>
>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<Base> = 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<Base> = function() { return { func: n => { return [d1, d2]; } }; };
>x180 : () => Genric<Base>
>Genric : Genric<T>
>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<Base> = [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<Base> = { func: n => { return [d1, d2]; } }; }
>x192 : typeof x192
>t : Genric<Base>
>Genric : Genric<T>
>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<Base> = [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<Base> = { func: n => { return [d1, d2]; } }; }
>x204 : typeof x204
>t : Genric<Base>
>Genric : Genric<T>
>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 = <Base[]>[d1, d2];
>x211 : Base[]
><Base[]>[d1, d2] : Base[]
>Base : Base
>[d1, d2] : (Derived1 | Derived2)[]
>d1 : Derived1
>d2 : Derived2
var x212 = <Array<Base>>[d1, d2];
>x212 : Base[]
><Array<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 = <Genric<Base>>{ func: n => { return [d1, d2]; } };
>x216 : Genric<Base>
><Genric<Base>>{ func: n => { return [d1, d2]; } } : Genric<Base>
>Genric : Genric<T>
>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 = (<Base[]>undefined) || [d1, d2];
>x221 : Base[]
>(<Base[]>undefined) || [d1, d2] : Base[]
>(<Base[]>undefined) : Base[]
><Base[]>undefined : Base[]
>Base : Base
>undefined : undefined
>[d1, d2] : (Derived1 | Derived2)[]
>d1 : Derived1
>d2 : Derived2
var x222 = (<Array<Base>>undefined) || [d1, d2];
>x222 : Base[]
>(<Array<Base>>undefined) || [d1, d2] : Base[]
>(<Array<Base>>undefined) : Base[]
><Array<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<Base>; 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<Base>; x236 = { func: n => { return [d1, d2]; } };
>x236 : Genric<Base>
>Genric : Genric<T>
>Base : Base
>x236 = { func: n => { return [d1, d2]; } } : { func: (n: Base[]) => (Derived1 | Derived2)[]; }
>x236 : Genric<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 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<Base>; } = { 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<Base>; } = { n: { func: n => { return [d1, d2]; } } };
>x248 : { n: Genric<Base>; }
>n : Genric<Base>
>Genric : Genric<T>
>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<Base>[] = [[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<Base>[] = [{ func: n => { return [d1, d2]; } }];
>x260 : Genric<Base>[]
>Genric : Genric<T>
>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<Base> = [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<Base> = 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<Base> = [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<Base> = 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<Base> = true ? { func: n => { return [d1, d2]; } } : { func: n => { return [d1, d2]; } };
>x296 : Genric<Base>
>Genric : Genric<T>
>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<Base> = 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<Base> = true ? undefined : { func: n => { return [d1, d2]; } };
>x308 : Genric<Base>
>Genric : Genric<T>
>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<Base> = 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<Base> = true ? { func: n => { return [d1, d2]; } } : undefined;
>x320 : Genric<Base>
>Genric : Genric<T>
>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<Base>) { }; 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<Base>) { }; x332({ func: n => { return [d1, d2]; } });
>x332 : (n: Genric<Base>) => void
>n : Genric<Base>
>Genric : Genric<T>
>Base : Base
>x332({ func: n => { return [d1, d2]; } }) : void
>x332 : (n: Genric<Base>) => 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<Base>) => n; x340([d1, d2]);
>x340 : (n: Base[]) => Base[]
>(n: Array<Base>) => 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<Base>) => n; x344({ func: n => { return [d1, d2]; } });
>x344 : (n: Genric<Base>) => Genric<Base>
>(n: Genric<Base>) => n : (n: Genric<Base>) => Genric<Base>
>n : Genric<Base>
>Genric : Genric<T>
>Base : Base
>n : Genric<Base>
>x344({ func: n => { return [d1, d2]; } }) : Genric<Base>
>x344 : (n: Genric<Base>) => Genric<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 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<Base>) { }; x352([d1, d2]);
>x352 : (n: Base[]) => void
>function(n: Array<Base>) { } : (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<Base>) { }; x356({ func: n => { return [d1, d2]; } });
>x356 : (n: Genric<Base>) => void
>function(n: Genric<Base>) { } : (n: Genric<Base>) => void
>n : Genric<Base>
>Genric : Genric<T>
>Base : Base
>x356({ func: n => { return [d1, d2]; } }) : void
>x356 : (n: Genric<Base>) => 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