whole_func_string: function any (o, f) {
                      f = f instanceof Function ? f : undefined;
  
                      if(f instanceof Function) {
                          var self = o, keys, property, value;
                          if(typeof self === 'number' || typeof self === 'function' || typeof self === 'boolean') self = o.toString();
  
                          // Firefox does some funky stuff here...
                          if(typeof o === 'function') self = fixFirefoxFunctionString(self);
  
                          // For Safari...
                          var isArgs = Object.prototype.toString.call(o) === '[object Arguments]', idx = -1;
                          keys = getKeys(self);
                          idx  = keys.indexOf('length');
  
                          if(isArgs && idx > -1) keys.splice(idx, 1);
  
                          for(var n = 0; n < keys.length; n++) {
                              property = keys[n];
                              value    = (typeof o === 'number' && !isNaN(parseFloat(self[property]))) ? parseFloat(self[property]) : self[property];
                              var ret = f.call(o, value, property, n, o);
                              if(ret !== undefined) return ret;
                          }
                      }
                      return undefined;
                  }
func_code_string: function any (o, f) {
                      f = f instanceof Function ? f : undefined;
  
                      if(f instanceof Function) {
                          var self = o, keys, property, value;
                          if(typeof self === 'number' || typeof self === 'function' || typeof self === 'boolean') self = o.toString();
  
                          // Firefox does some funky stuff here...
                          if(typeof o === 'function') self = fixFirefoxFunctionString(self);
  
                          // For Safari...
                          var isArgs = Object.prototype.toString.call(o) === '[object Arguments]', idx = -1;
                          keys = getKeys(self);
                          idx  = keys.indexOf('length');
  
                          if(isArgs && idx > -1) keys.splice(idx, 1);
  
                          for(var n = 0; n < keys.length; n++) {
                              property = keys[n];
                              value    = (typeof o === 'number' && !isNaN(parseFloat(self[property]))) ? parseFloat(self[property]) : self[property];
                              var ret = f.call(o, value, property, n, o);
                              if(ret !== undefined) return ret;
                          }
                      }
                      return undefined;
                  }
func_documentation_string: Invokes the callback 'f' for every property the object contains. If the callback returns true, the
  loop is broken and false is returned; otherwise true is returned.
  @param {Object} o The object to operate on.
  @param {Function} f The callback to invoke for each item within the object
  @returns {Boolean} True if none of the callback invocations returned false.
  @function