docs: public int unpackBinaryHeader()
              throws IOException
      {
          byte b = readByte();
          if (Code.isFixedRaw(b)) { // FixRaw
              return b & 0x1f;
          }
          int len = tryReadBinaryHeader(b);
          if (len >= 0) {
              return len;
          }
  
          if (allowReadingStringAsBinary) {
              len = tryReadStringHeader(b);
              if (len >= 0) {
                  return len;
              }
          }
          throw unexpected("Binary", b);
      }