def _replace(self, **kargs):
        """Return a copy of this Struct with the same fields except
        with the changes specified by kargs.
        """
        fields = {f.name: getattr(self, f.name)
                  for f in self._struct}
        fields.update(kargs)
        return type(self)(**fields)
Return a copy of this Struct with the same fields except
        with the changes specified by kargs.