docs: def endian_swap_words(source):
      """ Endian-swap each word in 'source' bitstring """
      assert len(source) % 4 == 0
      words = "I" * (len(source) // 4)
      return struct.pack("<" + words, *struct.unpack(">" + words, source))