protected BindingSet addOrCheckDefinition(Variable variable, BindingSet bindingSet) { return addOrCheckDefinition(varName, variable, bindingSet);
protected MatchResult addOrCheckDefinition(Variable variable, BindingSet bindingSet) { bindingSet = addOrCheckDefinition(varName, variable, bindingSet); return bindingSet != null ? new MatchResult(this, bindingSet) : null;
	protected BindingSet addOrCheckDefinition(Variable variable, BindingSet bindingSet) {		return addOrCheckDefinition(varName, variable, bindingSet);	}