code: function ( obj, fn ) {
  		if ( typeof fn !== "function" ) {
  			throw new Error( label.error.invalidArguments );
  		}
  
  		var remove = [];
  
  		array.each( obj, function ( i ) {
  			if ( fn( i ) !== false ) {
  				remove.push( i );
  			}
  			else {
  				return false;
  			}
  		});
  
  		array.each( remove, function ( i ) {
  			array.remove( obj, array.index( obj, i) );
  		});
  
  		return obj;
  	}
docs: Deletes elements of `obj` until `fn` evaluates to false
  
  @method removeWhile
  @param  {Array}    obj Array to iterate
  @param  {Function} fn  Function to test indices against
  @return {Array}        Array