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:         ..body = compileBody(context, id).value);
      });
  
      final t = dart.refer('T');
      final arrayT = dart.refer('Array<T>');
      final listT = dart.TypeReference((b) => b
        ..symbol = 'List'
        ..url = dartCoreUrl
        ..types.add(t));
      return [
        dart.Class((b) => b
          ..annotations.add(dart.refer('sealed', packageMetaUrl))
          ..name = 'Array'
          ..types.add(t)
          ..fields.add(dart.Field((b) => b
            ..name = 'value'
            ..type = listT))
          ..mixins.addAll(traits.map((it) {
            final type = compileType(context, it);
            return dart.TypeReference((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'))
  