cuelang.org/go@v0.13.0/cue/testdata/benchmarks/issue3633.txtar (about)

     1  #Issue: 3633
     2  -- out/evalalpha/stats --
     3  Leaks:  2287
     4  Freed:  0
     5  Reused: 0
     6  Allocs: 2287
     7  Retain: 0
     8  
     9  Unifications: 537
    10  Conjuncts:    2338
    11  Disjuncts:    1745
    12  
    13  CloseIDElems: 1249
    14  NumCloseIDs: 55
    15  -- diff/-out/evalalpha/stats<==>+out/eval/stats --
    16  diff old new
    17  --- old
    18  +++ new
    19  @@ -1,9 +1,12 @@
    20  -Leaks:  0
    21  -Freed:  3595
    22  -Reused: 3575
    23  -Allocs: 20
    24  +Leaks:  2287
    25  +Freed:  0
    26  +Reused: 0
    27  +Allocs: 2287
    28   Retain: 0
    29   
    30  -Unifications: 885
    31  -Conjuncts:    3846
    32  -Disjuncts:    3595
    33  +Unifications: 537
    34  +Conjuncts:    2338
    35  +Disjuncts:    1745
    36  +
    37  +CloseIDElems: 1249
    38  +NumCloseIDs: 55
    39  -- out/eval/stats --
    40  Leaks:  0
    41  Freed:  3595
    42  Reused: 3575
    43  Allocs: 20
    44  Retain: 0
    45  
    46  Unifications: 885
    47  Conjuncts:    3846
    48  Disjuncts:    3595
    49  -- in.cue --
    50  reduced: {
    51  	#Schema: {
    52  		a?: null | bool | string | int | #Schema
    53  		b?: null | bool | string | int | #Schema
    54  		c?: null | bool | string | int | #Schema
    55  		d?: null | bool | string | int | #Schema
    56  		e?: null | bool | string | int | #Schema
    57  		f?: null | bool | string | int | #Schema
    58  	}
    59  	
    60  	out: #Schema & { #Schema }
    61  }
    62  full: {
    63  	#Schema: {
    64  		required?: [...string] 
    65  		properties?: [string]: null | bool | string | [...int] | #Schema
    66  	
    67  		foo00?: null | bool | string | [...int] | {string: int32}
    68  		foo01?: null | bool | string | [...int] | {string: int32}
    69  		foo02?: null | bool | string | [...int] | {string: int32}
    70  		foo03?: null | bool | string | [...int] | {string: int32}
    71  		foo04?: null | bool | string | [...int] | {string: int32}
    72  		foo05?: null | bool | string | [...int] | {string: int32}
    73  		foo06?: null | bool | string | [...int] | {string: int32}
    74  		foo07?: null | bool | string | [...int] | {string: int32}
    75  		foo08?: null | bool | string | [...int] | {string: int32}
    76  		foo09?: null | bool | string | [...int] | {string: int32}
    77  		foo10?: null | bool | string | [...int] | {string: int32}
    78  		foo11?: null | bool | string | [...int] | {string: int32}
    79  		foo12?: null | bool | string | [...int] | {string: int32}
    80  		foo13?: null | bool | string | [...int] | {string: int32}
    81  		foo14?: null | bool | string | [...int] | {string: int32}
    82  		foo15?: null | bool | string | [...int] | {string: int32}
    83  		foo16?: null | bool | string | [...int] | {string: int32}
    84  		foo17?: null | bool | string | [...int] | {string: int32}
    85  		foo18?: null | bool | string | [...int] | {string: int32}
    86  		foo19?: null | bool | string | [...int] | {string: int32}
    87  	}
    88  	
    89  	out: [...#Schema] & [{
    90  		#Schema
    91  		properties: foo: required: ["bar", "baz"]
    92  	}]
    93  }
    94  -- out/evalalpha --
    95  (struct){
    96    reduced: (struct){
    97      #Schema: (#struct){
    98        a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
    99        b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   100        c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   101        d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   102        e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   103        f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   104      }
   105      out: (#struct){
   106        a?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   107            a?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   108                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   109                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   110                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   111                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   112                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   113                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   114              }) }
   115            b?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   116                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   117                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   118                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   119                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   120                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   121                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   122              }) }
   123            c?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   124                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   125                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   126                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   127                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   128                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   129                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   130              }) }
   131            d?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   132                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   133                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   134                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   135                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   136                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   137                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   138              }) }
   139            e?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   140                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   141                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   142                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   143                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   144                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   145                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   146              }) }
   147            f?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   148                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   149                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   150                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   151                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   152                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   153                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   154              }) }
   155          }) }
   156        b?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   157            a?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   158                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   159                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   160                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   161                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   162                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   163                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   164              }) }
   165            b?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   166                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   167                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   168                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   169                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   170                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   171                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   172              }) }
   173            c?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   174                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   175                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   176                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   177                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   178                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   179                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   180              }) }
   181            d?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   182                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   183                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   184                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   185                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   186                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   187                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   188              }) }
   189            e?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   190                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   191                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   192                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   193                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   194                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   195                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   196              }) }
   197            f?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   198                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   199                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   200                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   201                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   202                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   203                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   204              }) }
   205          }) }
   206        c?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   207            a?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   208                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   209                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   210                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   211                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   212                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   213                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   214              }) }
   215            b?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   216                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   217                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   218                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   219                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   220                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   221                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   222              }) }
   223            c?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   224                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   225                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   226                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   227                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   228                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   229                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   230              }) }
   231            d?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   232                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   233                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   234                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   235                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   236                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   237                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   238              }) }
   239            e?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   240                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   241                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   242                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   243                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   244                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   245                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   246              }) }
   247            f?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   248                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   249                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   250                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   251                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   252                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   253                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   254              }) }
   255          }) }
   256        d?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   257            a?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   258                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   259                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   260                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   261                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   262                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   263                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   264              }) }
   265            b?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   266                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   267                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   268                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   269                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   270                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   271                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   272              }) }
   273            c?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   274                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   275                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   276                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   277                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   278                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   279                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   280              }) }
   281            d?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   282                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   283                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   284                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   285                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   286                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   287                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   288              }) }
   289            e?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   290                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   291                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   292                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   293                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   294                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   295                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   296              }) }
   297            f?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   298                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   299                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   300                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   301                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   302                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   303                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   304              }) }
   305          }) }
   306        e?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   307            a?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   308                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   309                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   310                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   311                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   312                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   313                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   314              }) }
   315            b?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   316                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   317                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   318                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   319                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   320                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   321                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   322              }) }
   323            c?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   324                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   325                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   326                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   327                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   328                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   329                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   330              }) }
   331            d?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   332                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   333                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   334                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   335                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   336                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   337                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   338              }) }
   339            e?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   340                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   341                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   342                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   343                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   344                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   345                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   346              }) }
   347            f?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   348                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   349                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   350                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   351                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   352                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   353                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   354              }) }
   355          }) }
   356        f?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   357            a?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   358                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   359                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   360                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   361                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   362                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   363                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   364              }) }
   365            b?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   366                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   367                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   368                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   369                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   370                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   371                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   372              }) }
   373            c?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   374                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   375                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   376                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   377                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   378                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   379                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   380              }) }
   381            d?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   382                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   383                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   384                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   385                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   386                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   387                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   388              }) }
   389            e?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   390                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   391                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   392                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   393                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   394                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   395                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   396              }) }
   397            f?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   398                a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   399                b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   400                c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   401                d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   402                e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   403                f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   404              }) }
   405          }) }
   406      }
   407    }
   408    full: (struct){
   409      #Schema: (#struct){
   410        required?: (list){
   411        }
   412        properties?: (#struct){
   413        }
   414        foo00?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   415          }, (#struct){
   416            string: (int){ &(>=-2147483648, <=2147483647, int) }
   417          }) }
   418        foo01?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   419          }, (#struct){
   420            string: (int){ &(>=-2147483648, <=2147483647, int) }
   421          }) }
   422        foo02?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   423          }, (#struct){
   424            string: (int){ &(>=-2147483648, <=2147483647, int) }
   425          }) }
   426        foo03?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   427          }, (#struct){
   428            string: (int){ &(>=-2147483648, <=2147483647, int) }
   429          }) }
   430        foo04?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   431          }, (#struct){
   432            string: (int){ &(>=-2147483648, <=2147483647, int) }
   433          }) }
   434        foo05?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   435          }, (#struct){
   436            string: (int){ &(>=-2147483648, <=2147483647, int) }
   437          }) }
   438        foo06?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   439          }, (#struct){
   440            string: (int){ &(>=-2147483648, <=2147483647, int) }
   441          }) }
   442        foo07?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   443          }, (#struct){
   444            string: (int){ &(>=-2147483648, <=2147483647, int) }
   445          }) }
   446        foo08?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   447          }, (#struct){
   448            string: (int){ &(>=-2147483648, <=2147483647, int) }
   449          }) }
   450        foo09?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   451          }, (#struct){
   452            string: (int){ &(>=-2147483648, <=2147483647, int) }
   453          }) }
   454        foo10?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   455          }, (#struct){
   456            string: (int){ &(>=-2147483648, <=2147483647, int) }
   457          }) }
   458        foo11?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   459          }, (#struct){
   460            string: (int){ &(>=-2147483648, <=2147483647, int) }
   461          }) }
   462        foo12?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   463          }, (#struct){
   464            string: (int){ &(>=-2147483648, <=2147483647, int) }
   465          }) }
   466        foo13?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   467          }, (#struct){
   468            string: (int){ &(>=-2147483648, <=2147483647, int) }
   469          }) }
   470        foo14?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   471          }, (#struct){
   472            string: (int){ &(>=-2147483648, <=2147483647, int) }
   473          }) }
   474        foo15?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   475          }, (#struct){
   476            string: (int){ &(>=-2147483648, <=2147483647, int) }
   477          }) }
   478        foo16?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   479          }, (#struct){
   480            string: (int){ &(>=-2147483648, <=2147483647, int) }
   481          }) }
   482        foo17?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   483          }, (#struct){
   484            string: (int){ &(>=-2147483648, <=2147483647, int) }
   485          }) }
   486        foo18?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   487          }, (#struct){
   488            string: (int){ &(>=-2147483648, <=2147483647, int) }
   489          }) }
   490        foo19?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   491          }, (#struct){
   492            string: (int){ &(>=-2147483648, <=2147483647, int) }
   493          }) }
   494      }
   495      out: (#list){
   496        0: (#struct){
   497          properties: (#struct){
   498            foo: (#struct){
   499              required: (#list){
   500                0: (string){ "bar" }
   501                1: (string){ "baz" }
   502              }
   503              properties?: (#struct){
   504              }
   505              foo00?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   506                }, (#struct){
   507                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   508                }) }
   509              foo01?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   510                }, (#struct){
   511                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   512                }) }
   513              foo02?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   514                }, (#struct){
   515                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   516                }) }
   517              foo03?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   518                }, (#struct){
   519                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   520                }) }
   521              foo04?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   522                }, (#struct){
   523                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   524                }) }
   525              foo05?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   526                }, (#struct){
   527                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   528                }) }
   529              foo06?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   530                }, (#struct){
   531                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   532                }) }
   533              foo07?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   534                }, (#struct){
   535                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   536                }) }
   537              foo08?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   538                }, (#struct){
   539                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   540                }) }
   541              foo09?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   542                }, (#struct){
   543                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   544                }) }
   545              foo10?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   546                }, (#struct){
   547                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   548                }) }
   549              foo11?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   550                }, (#struct){
   551                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   552                }) }
   553              foo12?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   554                }, (#struct){
   555                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   556                }) }
   557              foo13?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   558                }, (#struct){
   559                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   560                }) }
   561              foo14?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   562                }, (#struct){
   563                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   564                }) }
   565              foo15?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   566                }, (#struct){
   567                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   568                }) }
   569              foo16?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   570                }, (#struct){
   571                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   572                }) }
   573              foo17?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   574                }, (#struct){
   575                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   576                }) }
   577              foo18?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   578                }, (#struct){
   579                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   580                }) }
   581              foo19?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   582                }, (#struct){
   583                  string: (int){ &(>=-2147483648, <=2147483647, int) }
   584                }) }
   585            }
   586          }
   587          required?: (list){
   588          }
   589          foo00?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   590            }, (#struct){
   591              string: (int){ &(>=-2147483648, <=2147483647, int) }
   592            }) }
   593          foo01?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   594            }, (#struct){
   595              string: (int){ &(>=-2147483648, <=2147483647, int) }
   596            }) }
   597          foo02?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   598            }, (#struct){
   599              string: (int){ &(>=-2147483648, <=2147483647, int) }
   600            }) }
   601          foo03?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   602            }, (#struct){
   603              string: (int){ &(>=-2147483648, <=2147483647, int) }
   604            }) }
   605          foo04?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   606            }, (#struct){
   607              string: (int){ &(>=-2147483648, <=2147483647, int) }
   608            }) }
   609          foo05?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   610            }, (#struct){
   611              string: (int){ &(>=-2147483648, <=2147483647, int) }
   612            }) }
   613          foo06?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   614            }, (#struct){
   615              string: (int){ &(>=-2147483648, <=2147483647, int) }
   616            }) }
   617          foo07?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   618            }, (#struct){
   619              string: (int){ &(>=-2147483648, <=2147483647, int) }
   620            }) }
   621          foo08?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   622            }, (#struct){
   623              string: (int){ &(>=-2147483648, <=2147483647, int) }
   624            }) }
   625          foo09?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   626            }, (#struct){
   627              string: (int){ &(>=-2147483648, <=2147483647, int) }
   628            }) }
   629          foo10?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   630            }, (#struct){
   631              string: (int){ &(>=-2147483648, <=2147483647, int) }
   632            }) }
   633          foo11?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   634            }, (#struct){
   635              string: (int){ &(>=-2147483648, <=2147483647, int) }
   636            }) }
   637          foo12?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   638            }, (#struct){
   639              string: (int){ &(>=-2147483648, <=2147483647, int) }
   640            }) }
   641          foo13?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   642            }, (#struct){
   643              string: (int){ &(>=-2147483648, <=2147483647, int) }
   644            }) }
   645          foo14?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   646            }, (#struct){
   647              string: (int){ &(>=-2147483648, <=2147483647, int) }
   648            }) }
   649          foo15?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   650            }, (#struct){
   651              string: (int){ &(>=-2147483648, <=2147483647, int) }
   652            }) }
   653          foo16?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   654            }, (#struct){
   655              string: (int){ &(>=-2147483648, <=2147483647, int) }
   656            }) }
   657          foo17?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   658            }, (#struct){
   659              string: (int){ &(>=-2147483648, <=2147483647, int) }
   660            }) }
   661          foo18?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   662            }, (#struct){
   663              string: (int){ &(>=-2147483648, <=2147483647, int) }
   664            }) }
   665          foo19?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
   666            }, (#struct){
   667              string: (int){ &(>=-2147483648, <=2147483647, int) }
   668            }) }
   669        }
   670      }
   671    }
   672  }
   673  -- diff/-out/evalalpha<==>+out/eval --
   674  diff old new
   675  --- old
   676  +++ new
   677  @@ -9,12 +9,306 @@
   678         f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   679       }
   680       out: (#struct){
   681  -      a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   682  -      b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   683  -      c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   684  -      d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   685  -      e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   686  -      f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   687  +      a?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   688  +          a?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   689  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   690  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   691  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   692  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   693  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   694  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   695  +            }) }
   696  +          b?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   697  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   698  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   699  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   700  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   701  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   702  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   703  +            }) }
   704  +          c?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   705  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   706  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   707  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   708  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   709  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   710  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   711  +            }) }
   712  +          d?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   713  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   714  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   715  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   716  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   717  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   718  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   719  +            }) }
   720  +          e?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   721  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   722  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   723  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   724  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   725  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   726  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   727  +            }) }
   728  +          f?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   729  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   730  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   731  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   732  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   733  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   734  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   735  +            }) }
   736  +        }) }
   737  +      b?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   738  +          a?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   739  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   740  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   741  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   742  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   743  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   744  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   745  +            }) }
   746  +          b?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   747  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   748  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   749  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   750  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   751  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   752  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   753  +            }) }
   754  +          c?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   755  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   756  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   757  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   758  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   759  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   760  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   761  +            }) }
   762  +          d?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   763  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   764  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   765  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   766  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   767  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   768  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   769  +            }) }
   770  +          e?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   771  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   772  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   773  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   774  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   775  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   776  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   777  +            }) }
   778  +          f?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   779  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   780  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   781  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   782  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   783  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   784  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   785  +            }) }
   786  +        }) }
   787  +      c?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   788  +          a?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   789  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   790  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   791  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   792  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   793  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   794  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   795  +            }) }
   796  +          b?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   797  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   798  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   799  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   800  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   801  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   802  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   803  +            }) }
   804  +          c?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   805  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   806  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   807  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   808  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   809  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   810  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   811  +            }) }
   812  +          d?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   813  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   814  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   815  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   816  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   817  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   818  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   819  +            }) }
   820  +          e?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   821  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   822  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   823  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   824  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   825  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   826  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   827  +            }) }
   828  +          f?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   829  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   830  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   831  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   832  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   833  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   834  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   835  +            }) }
   836  +        }) }
   837  +      d?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   838  +          a?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   839  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   840  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   841  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   842  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   843  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   844  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   845  +            }) }
   846  +          b?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   847  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   848  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   849  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   850  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   851  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   852  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   853  +            }) }
   854  +          c?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   855  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   856  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   857  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   858  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   859  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   860  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   861  +            }) }
   862  +          d?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   863  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   864  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   865  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   866  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   867  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   868  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   869  +            }) }
   870  +          e?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   871  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   872  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   873  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   874  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   875  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   876  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   877  +            }) }
   878  +          f?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   879  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   880  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   881  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   882  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   883  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   884  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   885  +            }) }
   886  +        }) }
   887  +      e?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   888  +          a?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   889  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   890  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   891  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   892  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   893  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   894  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   895  +            }) }
   896  +          b?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   897  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   898  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   899  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   900  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   901  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   902  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   903  +            }) }
   904  +          c?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   905  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   906  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   907  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   908  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   909  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   910  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   911  +            }) }
   912  +          d?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   913  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   914  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   915  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   916  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   917  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   918  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   919  +            }) }
   920  +          e?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   921  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   922  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   923  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   924  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   925  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   926  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   927  +            }) }
   928  +          f?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   929  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   930  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   931  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   932  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   933  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   934  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   935  +            }) }
   936  +        }) }
   937  +      f?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   938  +          a?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   939  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   940  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   941  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   942  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   943  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   944  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   945  +            }) }
   946  +          b?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   947  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   948  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   949  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   950  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   951  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   952  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   953  +            }) }
   954  +          c?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   955  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   956  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   957  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   958  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   959  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   960  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   961  +            }) }
   962  +          d?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   963  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   964  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   965  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   966  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   967  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   968  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   969  +            }) }
   970  +          e?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   971  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   972  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   973  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   974  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   975  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   976  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   977  +            }) }
   978  +          f?: ((null|bool|int|string|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }, (#struct){
   979  +              a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   980  +              b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   981  +              c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   982  +              d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   983  +              e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   984  +              f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
   985  +            }) }
   986  +        }) }
   987       }
   988     }
   989     full: (struct){
   990  @@ -106,8 +400,6 @@
   991       }
   992       out: (#list){
   993         0: (#struct){
   994  -        required?: (list){
   995  -        }
   996           properties: (#struct){
   997             foo: (#struct){
   998               required: (#list){
   999  @@ -198,6 +490,8 @@
  1000                 }) }
  1001             }
  1002           }
  1003  +        required?: (list){
  1004  +        }
  1005           foo00?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1006             }, (#struct){
  1007               string: (int){ &(>=-2147483648, <=2147483647, int) }
  1008  -- out/eval --
  1009  (struct){
  1010    reduced: (struct){
  1011      #Schema: (#struct){
  1012        a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
  1013        b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
  1014        c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
  1015        d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
  1016        e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
  1017        f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
  1018      }
  1019      out: (#struct){
  1020        a?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
  1021        b?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
  1022        c?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
  1023        d?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
  1024        e?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
  1025        f?: ((null|bool|int|string)){ |((null){ null }, (bool){ bool }, (string){ string }, (int){ int }) }
  1026      }
  1027    }
  1028    full: (struct){
  1029      #Schema: (#struct){
  1030        required?: (list){
  1031        }
  1032        properties?: (#struct){
  1033        }
  1034        foo00?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1035          }, (#struct){
  1036            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1037          }) }
  1038        foo01?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1039          }, (#struct){
  1040            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1041          }) }
  1042        foo02?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1043          }, (#struct){
  1044            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1045          }) }
  1046        foo03?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1047          }, (#struct){
  1048            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1049          }) }
  1050        foo04?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1051          }, (#struct){
  1052            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1053          }) }
  1054        foo05?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1055          }, (#struct){
  1056            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1057          }) }
  1058        foo06?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1059          }, (#struct){
  1060            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1061          }) }
  1062        foo07?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1063          }, (#struct){
  1064            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1065          }) }
  1066        foo08?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1067          }, (#struct){
  1068            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1069          }) }
  1070        foo09?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1071          }, (#struct){
  1072            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1073          }) }
  1074        foo10?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1075          }, (#struct){
  1076            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1077          }) }
  1078        foo11?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1079          }, (#struct){
  1080            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1081          }) }
  1082        foo12?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1083          }, (#struct){
  1084            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1085          }) }
  1086        foo13?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1087          }, (#struct){
  1088            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1089          }) }
  1090        foo14?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1091          }, (#struct){
  1092            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1093          }) }
  1094        foo15?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1095          }, (#struct){
  1096            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1097          }) }
  1098        foo16?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1099          }, (#struct){
  1100            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1101          }) }
  1102        foo17?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1103          }, (#struct){
  1104            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1105          }) }
  1106        foo18?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1107          }, (#struct){
  1108            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1109          }) }
  1110        foo19?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1111          }, (#struct){
  1112            string: (int){ &(>=-2147483648, <=2147483647, int) }
  1113          }) }
  1114      }
  1115      out: (#list){
  1116        0: (#struct){
  1117          required?: (list){
  1118          }
  1119          properties: (#struct){
  1120            foo: (#struct){
  1121              required: (#list){
  1122                0: (string){ "bar" }
  1123                1: (string){ "baz" }
  1124              }
  1125              properties?: (#struct){
  1126              }
  1127              foo00?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1128                }, (#struct){
  1129                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1130                }) }
  1131              foo01?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1132                }, (#struct){
  1133                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1134                }) }
  1135              foo02?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1136                }, (#struct){
  1137                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1138                }) }
  1139              foo03?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1140                }, (#struct){
  1141                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1142                }) }
  1143              foo04?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1144                }, (#struct){
  1145                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1146                }) }
  1147              foo05?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1148                }, (#struct){
  1149                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1150                }) }
  1151              foo06?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1152                }, (#struct){
  1153                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1154                }) }
  1155              foo07?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1156                }, (#struct){
  1157                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1158                }) }
  1159              foo08?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1160                }, (#struct){
  1161                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1162                }) }
  1163              foo09?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1164                }, (#struct){
  1165                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1166                }) }
  1167              foo10?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1168                }, (#struct){
  1169                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1170                }) }
  1171              foo11?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1172                }, (#struct){
  1173                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1174                }) }
  1175              foo12?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1176                }, (#struct){
  1177                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1178                }) }
  1179              foo13?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1180                }, (#struct){
  1181                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1182                }) }
  1183              foo14?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1184                }, (#struct){
  1185                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1186                }) }
  1187              foo15?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1188                }, (#struct){
  1189                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1190                }) }
  1191              foo16?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1192                }, (#struct){
  1193                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1194                }) }
  1195              foo17?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1196                }, (#struct){
  1197                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1198                }) }
  1199              foo18?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1200                }, (#struct){
  1201                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1202                }) }
  1203              foo19?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1204                }, (#struct){
  1205                  string: (int){ &(>=-2147483648, <=2147483647, int) }
  1206                }) }
  1207            }
  1208          }
  1209          foo00?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1210            }, (#struct){
  1211              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1212            }) }
  1213          foo01?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1214            }, (#struct){
  1215              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1216            }) }
  1217          foo02?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1218            }, (#struct){
  1219              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1220            }) }
  1221          foo03?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1222            }, (#struct){
  1223              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1224            }) }
  1225          foo04?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1226            }, (#struct){
  1227              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1228            }) }
  1229          foo05?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1230            }, (#struct){
  1231              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1232            }) }
  1233          foo06?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1234            }, (#struct){
  1235              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1236            }) }
  1237          foo07?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1238            }, (#struct){
  1239              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1240            }) }
  1241          foo08?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1242            }, (#struct){
  1243              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1244            }) }
  1245          foo09?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1246            }, (#struct){
  1247              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1248            }) }
  1249          foo10?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1250            }, (#struct){
  1251              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1252            }) }
  1253          foo11?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1254            }, (#struct){
  1255              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1256            }) }
  1257          foo12?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1258            }, (#struct){
  1259              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1260            }) }
  1261          foo13?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1262            }, (#struct){
  1263              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1264            }) }
  1265          foo14?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1266            }, (#struct){
  1267              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1268            }) }
  1269          foo15?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1270            }, (#struct){
  1271              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1272            }) }
  1273          foo16?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1274            }, (#struct){
  1275              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1276            }) }
  1277          foo17?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1278            }, (#struct){
  1279              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1280            }) }
  1281          foo18?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1282            }, (#struct){
  1283              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1284            }) }
  1285          foo19?: ((null|bool|string|list|struct)){ |((null){ null }, (bool){ bool }, (string){ string }, (list){
  1286            }, (#struct){
  1287              string: (int){ &(>=-2147483648, <=2147483647, int) }
  1288            }) }
  1289        }
  1290      }
  1291    }
  1292  }
  1293  -- out/compile --
  1294  --- in.cue
  1295  {
  1296    reduced: {
  1297      #Schema: {
  1298        a?: (null|bool|string|int|〈1;#Schema〉)
  1299        b?: (null|bool|string|int|〈1;#Schema〉)
  1300        c?: (null|bool|string|int|〈1;#Schema〉)
  1301        d?: (null|bool|string|int|〈1;#Schema〉)
  1302        e?: (null|bool|string|int|〈1;#Schema〉)
  1303        f?: (null|bool|string|int|〈1;#Schema〉)
  1304      }
  1305      out: (〈0;#Schema〉 & {
  1306        〈1;#Schema〉
  1307      })
  1308    }
  1309    full: {
  1310      #Schema: {
  1311        required?: [
  1312          ...string,
  1313        ]
  1314        properties?: {
  1315          [string]: (null|bool|string|[
  1316            ...int,
  1317          ]|〈2;#Schema〉)
  1318        }
  1319        foo00?: (null|bool|string|[
  1320          ...int,
  1321        ]|{
  1322          string: &(int, >=-2147483648, <=2147483647)
  1323        })
  1324        foo01?: (null|bool|string|[
  1325          ...int,
  1326        ]|{
  1327          string: &(int, >=-2147483648, <=2147483647)
  1328        })
  1329        foo02?: (null|bool|string|[
  1330          ...int,
  1331        ]|{
  1332          string: &(int, >=-2147483648, <=2147483647)
  1333        })
  1334        foo03?: (null|bool|string|[
  1335          ...int,
  1336        ]|{
  1337          string: &(int, >=-2147483648, <=2147483647)
  1338        })
  1339        foo04?: (null|bool|string|[
  1340          ...int,
  1341        ]|{
  1342          string: &(int, >=-2147483648, <=2147483647)
  1343        })
  1344        foo05?: (null|bool|string|[
  1345          ...int,
  1346        ]|{
  1347          string: &(int, >=-2147483648, <=2147483647)
  1348        })
  1349        foo06?: (null|bool|string|[
  1350          ...int,
  1351        ]|{
  1352          string: &(int, >=-2147483648, <=2147483647)
  1353        })
  1354        foo07?: (null|bool|string|[
  1355          ...int,
  1356        ]|{
  1357          string: &(int, >=-2147483648, <=2147483647)
  1358        })
  1359        foo08?: (null|bool|string|[
  1360          ...int,
  1361        ]|{
  1362          string: &(int, >=-2147483648, <=2147483647)
  1363        })
  1364        foo09?: (null|bool|string|[
  1365          ...int,
  1366        ]|{
  1367          string: &(int, >=-2147483648, <=2147483647)
  1368        })
  1369        foo10?: (null|bool|string|[
  1370          ...int,
  1371        ]|{
  1372          string: &(int, >=-2147483648, <=2147483647)
  1373        })
  1374        foo11?: (null|bool|string|[
  1375          ...int,
  1376        ]|{
  1377          string: &(int, >=-2147483648, <=2147483647)
  1378        })
  1379        foo12?: (null|bool|string|[
  1380          ...int,
  1381        ]|{
  1382          string: &(int, >=-2147483648, <=2147483647)
  1383        })
  1384        foo13?: (null|bool|string|[
  1385          ...int,
  1386        ]|{
  1387          string: &(int, >=-2147483648, <=2147483647)
  1388        })
  1389        foo14?: (null|bool|string|[
  1390          ...int,
  1391        ]|{
  1392          string: &(int, >=-2147483648, <=2147483647)
  1393        })
  1394        foo15?: (null|bool|string|[
  1395          ...int,
  1396        ]|{
  1397          string: &(int, >=-2147483648, <=2147483647)
  1398        })
  1399        foo16?: (null|bool|string|[
  1400          ...int,
  1401        ]|{
  1402          string: &(int, >=-2147483648, <=2147483647)
  1403        })
  1404        foo17?: (null|bool|string|[
  1405          ...int,
  1406        ]|{
  1407          string: &(int, >=-2147483648, <=2147483647)
  1408        })
  1409        foo18?: (null|bool|string|[
  1410          ...int,
  1411        ]|{
  1412          string: &(int, >=-2147483648, <=2147483647)
  1413        })
  1414        foo19?: (null|bool|string|[
  1415          ...int,
  1416        ]|{
  1417          string: &(int, >=-2147483648, <=2147483647)
  1418        })
  1419      }
  1420      out: ([
  1421        ...〈1;#Schema〉,
  1422      ] & [
  1423        {
  1424          〈2;#Schema〉
  1425          properties: {
  1426            foo: {
  1427              required: [
  1428                "bar",
  1429                "baz",
  1430              ]
  1431            }
  1432          }
  1433        },
  1434      ])
  1435    }
  1436  }