docs: def validate(self, pkt, messages=None):
          """Returns True if the given Packet is valid, False otherwise.
          Validation error messages are appended to an optional messages
          array.
          """
          valid = True
  
          for f in self.fields:
              try:
                  value = getattr(pkt, f.name)
              except AttributeError:
                  valid = False
                  if messages is not None:
                      msg = "Telemetry field mismatch for packet '%s'.  "
                      msg += "Unable to retrieve value for %s in Packet."
                      values = self.name, f.name
                      messages.append(msg % values)
                  break
  
              if f.validate(value, messages) is False:
                  valid = False
  
          return valid