def merge(other = {})
      coa!
      varset = self.class.new
      varset.instance_variable_set(:@coa_vars, @coa_vars.dup)
      varset.append(other)
    end
def merge(other = {})
      coa!
      varset = self.class.new
      varset.instance_variable_set(:@coa_vars, @coa_vars.dup)
      varset.append(other)
    end
Create a new VarSet object based on the first merged with other.

 @param other [VarSet, Hash] Other variables to add or overwrite.

 @return [VarSet] The newly created VarSet.