code: function makeOrWithInAndRange(inSet, rangeSet) {
  	if(rangeSet instanceof is.Or) {
  		var firstResult = makeOrWithInAndRange(inSet, rangeSet.values[0]);
  		if( !(firstResult instanceof is.Or) ) {
  			return set.union(firstResult, rangeSet.values[1]);
  		}
  		var secondResult = makeOrWithInAndRange(inSet, rangeSet.values[1]);
  		if( !(secondResult instanceof is.Or) ) {
  			return set.union(secondResult, rangeSet.values[0]);
  		}
  		return makeOr([inSet, rangeSet]);
  	} else {
  		if(rangeSet instanceof is.GreaterThan) {
  			return combineValueWithRangeCheck(inSet, rangeSet, is.GreaterThanEqual);
  		}
  		if(rangeSet instanceof is.LessThan) {
  			return combineValueWithRangeCheck(inSet, rangeSet, is.LessThanEqual);
  		}
  		return makeOr([inSet, rangeSet]);
  	}
  }
docs: This tries to unify In([1]) with GT(1) -> GTE(1)