code: function serializeFunction(fn) {
          var src = fn.toString();
  
          // Because search is faster than match, we perform first the .search().
          // We're assuming that native functions are less likely to be stringified
          // than custom functions
          if (src.search(/^function \w+\(\) \{\s*\[native code\]\s*\}$/) === -1) {  // IF TRUE: It's a regular function defined in JavaScript
              return src;
          } else {    // IF TRUE: It's a native function with native code that can't be stringified
              return src.match(/^function (\w+)\(\) \{\s*\[native code\]\s*\}$/)[1];  // returns the function name
          }
      }
docs: Serializes a function. Usually you can call .toString() on all functions
  that are have been defined in JavaScript. Unfortunately this doesn't work
  on native functions like Date, String, etc.. In this case this function
  returns the function name;
  
  @param {Function} fn
  @return {String}