docs: def get_crc(msg):
      """ Return CRC of 2 byte for message.
  
          >>> assert get_crc(b'\x02\x07') == struct.unpack('<H', b'\x41\x12')
  
      :param msg: A byte array.
      :return: Byte array of 2 bytes.
      """
      register = 0xFFFF
  
      for byte_ in msg:
          try:
              val = struct.unpack('<B', byte_)[0]
          # Iterating over a bit-like objects in Python 3 gets you ints.
          # Because fuck logic.
          except TypeError:
              val = byte_
  
          register = \
              (register >> 8) ^ look_up_table[(register ^ val) & 0xFF]
  
      # CRC is little-endian!
      return struct.pack('<H', register)