anchor.diff:            dart.Method((b) => b
               ..name = 'generate'
               ..static = true
  -            ..types.add(t)
  -            ..returns = arrayT
  +            ..types.add(item)
  +            ..returns = arrayItem
               ..requiredParameters.addAll([
                 dart.Parameter((b) => b
                   ..name = 'length'
  
positive.code:                 ..name = 'generator'
                  ..type = dart.FunctionType((b) => b
                    ..requiredParameters.add(compileType(context, CandyType.int))
                    ..returnType = t)),
              ])
              ..body = arrayT.call([
                listT.property('generate').call([
                  dart.refer('length.value'),
                  // The Dart code generator doesn't support lambdas, so we do an ugly workaround.
                  dart.Method((b) => b
  
negative.code:                 ..type = compileType(context, CandyType.int)),
                dart.Parameter((b) => b
                  ..name = 'item'
                  ..type = item),
              ])
              ..returns = item
              ..body = dart
                  .refer('value')
                  .index(dart.refer('index.value'))
  