docs: def messages(self):
          '''a generator yielding the :class:`Message` structures in the index'''
  
          # the file contains the fixed-size file header followed by
          # fixed-size message structures. start after the file header and
          # then simply return the message structures in sequence until the
          # end of the file.
  
          offset = self.LENGTH
          while offset < len(self.mmap):
              yield Message(mm=self.mmap, offset=offset)
              offset += Message.LENGTH