code: function (index, remove/*, newItems... */) {
  		var newItems = slice(arguments, 2);
  		var removed = 0;
  		if (remove > 0) {
  			removed = this.remove(index, remove);
  		}
  		if (newItems.length) {
  			this.insert.apply(this, [index].concat(newItems));
  		}
  		return removed;
  	}
docs: Remove and/or insert items.
  @param {int} index Position to begin splicing
  @param {int=} remove Count of items to remove. Can be 0. If omitted, all
  items until the end of the array will be removed.
  @param {...*=} newItems Items to be inserted at this index
  @return {int} The number of items which have been removed
  @fires add
  @fires remove