   }
 
   mutating func visitRepeatedUInt64Field(value: [UInt64], fieldNumber: Int) throws {
-      for v in value {
-          emitFieldName(lookingUp: fieldNumber)
+      let fieldName = formatFieldName(lookingUp: fieldNumber)
+      for v in value {
+          encoder.emitFieldName(name: fieldName)
           encoder.startRegularField()
           encoder.putUInt64(value: v)
           encoder.endRegularField()

  }

  mutating func visitRepeatedStringField(value: [String], fieldNumber: Int) throws {
      for v in value {
          emitFieldName(lookingUp: fieldNumber)
          encoder.startRegularField()
          encoder.putStringValue(value: v)
          encoder.endRegularField()

  }

  mutating func visitRepeatedEnumField<E: Enum>(value: [E], fieldNumber: Int) throws {
      let fieldName = formatFieldName(lookingUp: fieldNumber)
      for v in value {
          encoder.emitFieldName(name: fieldName)
          encoder.startRegularField()
          encoder.putEnumValue(value: v)
          encoder.endRegularField()
