anchor.diff:   	* 	@example _.splice([10, 90, 30], 2, 2);<br /> => [10]<br />_.splice([10, 90, 30], 2, 1, 20);<br /> => [10, 20, 30]
    	*/ 
    	public array function splice(array array = this.obj, required numeric index, required numeric howMany) {
  - 		var items = isArray(arguments[4]) ? arguments[4] : _.slice(arguments, 4);
  + 		var items = arrayLen(arguments) > 3 && isArray(arguments[4]) ? arguments[4] : _.slice(arguments, 4);
   
    		if (index < 1) {
    			// negative indices mean position from end of array
  
positive.code: 			};
  		}
  
  		var toSort = _.map(arguments.obj, function(value, index, collection, this) {
  			return {
  				value : value,
  				criteria : iterator(value, index, collection, arguments.this)
  			};
  		});
  
  		var sorted = mergeSort(toSort, function(left, right) {
  			if (!structKeyExists(left, 'criteria')) {
  				return 1;
  			}
  
negative.code: 			return _.comparison(a, b);
  		});
  
  		return _.pluck(result, 'value');
  	}
  
  	// default comparator for merge()
  