anchor.diff:    }
   
     @override
  -  int get length {
  -    return 6 + _hashedAuthString.utf8Length;
  -  }
  -
  -  @override
     void applyToBuffer(ByteDataWriter buffer) {
       buffer.writeUint8(ClientMessage.PasswordIdentifier);
  -    buffer.writeUint32(length - 1);
  -    applyStringToBuffer(_hashedAuthString, buffer);
  +    final length = 5 + _hashedAuthString.utf8Length;
  +    buffer.writeUint32(length);
  +    _applyStringToBuffer(_hashedAuthString, buffer);
     }
   }
   
  
positive.code:     buffer.writeUint32(length - 1);
  
      // Name of portal - currently unnamed portal.
      applyBytesToBuffer([0], buffer);
      // Name of prepared statement.
      applyStringToBuffer(_statementName, buffer);
  
      // OK, if we have no specified types at all, we can use 0. If we have all specified types, we can use 1. If we have a mix, we have to individually
      // call out each type.
  
negative.code: 
  class ExecuteMessage extends ClientMessage {
    @override
    void applyToBuffer(ByteDataWriter buffer) {
      buffer.writeUint8(ClientMessage.ExecuteIdentifier);
      buffer.writeUint32(9);
      buffer.writeUint8(0); // Portal name
      buffer.writeUint32(0);
    }
  }
  
  class SyncMessage extends ClientMessage {
    @override
    void applyToBuffer(ByteDataWriter buffer) {
      buffer.writeUint8(ClientMessage.SyncIdentifier);
  