docs: def copy(self):
          """Returns a deep copy of the instance."""
          clone = self.__class__()
          clone.fields = self.copy_fields_dict(self.fields)
          clone.default_fields = self.copy_fields_dict(self.default_fields)
          clone.overloaded_fields = self.overloaded_fields.copy()
          clone.underlayer = self.underlayer
          clone.explicit = self.explicit
          clone.raw_packet_cache = self.raw_packet_cache
          clone.raw_packet_cache_fields = self.copy_fields_dict(
              self.raw_packet_cache_fields
          )
          clone.wirelen = self.wirelen
          clone.post_transforms = self.post_transforms[:]
          clone.payload = self.payload.copy()
          clone.payload.add_underlayer(clone)
          clone.time = self.time
          return clone