whole_func_string: function() {
        var i, arr = this;
        multiArgs(arguments, function(f) {
          i = 0;
          while(i < arr.length) {
            if(multiMatch(arr[i], f, arr, [arr[i], i, arr])) {
              arr.splice(i, 1);
            } else {
              i++;
            }
          }
        });
        return arr;
      }
func_code_string: function() {
        var i, arr = this;
        multiArgs(arguments, function(f) {
          i = 0;
          while(i < arr.length) {
            if(multiMatch(arr[i], f, arr, [arr[i], i, arr])) {
              arr.splice(i, 1);
            } else {
              i++;
            }
          }
        });
        return arr;
      }
func_documentation_string: *
  @method remove([f1], [f2], ...)
  @returns Array
  @short Removes any element in the array that matches [f1], [f2], etc.
  @extra Will match a string, number, array, object, or alternately test against a function or regex. This method will change the array! Use %exclude% for a non-destructive alias. This method implements @array_matching.
  @example
  
  [1,2,3].remove(3)         -> [1,2]
  ['a','b','c'].remove(/b/) -> ['a','c']
  +   [{a:1},{b:2}].remove(function(n) {
  return n['a'] == 1;
  });                       -> [{b:2}]
  
  *