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