public abstract Mutator Extract(FieldAccessor accessor);
public abstract Mutator WithAssignment(FieldAccessor accessor, Mutator value);
public override Mutator Extract(FieldAccessor accessor) { throw new NotImplementedException(); }
public override Mutator WithAssignment(FieldAccessor accessor, Mutator value) { throw new NotImplementedException(); }
public override Mutator Extract(FieldAccessor accessor) { return(Register.Extract(accessor)); }
public override Mutator WithAssignment(FieldAccessor accessor, Mutator value) { Register = Register.WithAssignment(accessor, value); return(accessor.AcceptExtract(this)); }