docs: def extract_bits(self, val):
          """Extras the 4 bits, XORS the message data, and does table lookups."""
          # Step one, extract the Most significant 4 bits of the CRC register
          thisval = self.high >> 4
          # XOR in the Message Data into the extracted bits
          thisval = thisval ^ val
          # Shift the CRC Register left 4 bits
          self.high = (self.high << 4) | (self.low >> 4)
          self.high = self.high & constants.BYTEMASK    # force char
          self.low = self.low << 4
          self.low = self.low & constants.BYTEMASK      # force char
          # Do the table lookups and XOR the result into the CRC tables
          self.high = self.high ^ self.LookupHigh[thisval]
          self.high = self.high & constants.BYTEMASK    # force char
          self.low = self.low ^ self.LookupLow[thisval]
          self.low = self.low & constants.BYTEMASK