anchor.diff:      bool named: false,
     }) {
       spec.docs.forEach(output.writeln);
  -    spec.annotations.forEach((a) => visitAnnotation(a, output));
  +    for (final annotation in spec.annotations) {
  +      annotation.accept(this, output);
  +    }
       if (spec.type != null) {
  -      visitType(spec.type.type, output);
  +      spec.type.type.accept(this, output);
         output.write(' ');
       }
       if (spec.toThis) {
  
positive.code:       output.write('static ');
      }
      if (spec.returns != null) {
        visitType(spec.returns.type, output);
        output.write(' ');
      }
      if (spec.type == MethodType.getter) {
  
negative.code:   visitMethod(Method spec, [StringSink output]) {
      output ??= new StringBuffer();
      spec.docs.forEach(output.writeln);
      for (final annotation in spec.annotations) {
        annotation.accept(this, output);
      }
      if (spec.external) {
        output.write('external ');
      }
  