docs: def checksum (data, start = 0, skip_word = None):
    """
    Calculate standard internet checksum over data starting at start'th byte
  
    skip_word: If specified, it's the word offset of a word in data to "skip"
               (as if it were zero).  The purpose is when data is received
               data which contains a computed checksum that you are trying to
               verify -- you want to skip that word since it was zero when
               the checksum was initially calculated.
    """
    if len(data) % 2 != 0:
      arr = array.array('H', data[:-1])
    else:
      arr = array.array('H', data)
  
    if skip_word is not None:
      for i in range(0, len(arr)):
        if i == skip_word:
          continue
        start +=  arr[i]
    else:
      for i in range(0, len(arr)):
        start +=  arr[i]
  
    if len(data) % 2 != 0:
      start += struct.unpack('H', data[-1:]+b'\x00')[0] # Specify order?
  
    start  = (start >> 16) + (start & 0xffff)
    start += (start >> 16)
    #while start >> 16:
    #  start = (start >> 16) + (start & 0xffff)
  
    return ntohs(~start & 0xffff)