text: 'use strict';
  
  /* global: toDebugString: true */
  
  function serializeObject(obj) {
    var seen = [];
  
    return JSON.stringify(obj, function(key, val) {
      val = toJsonReplacer(key, val);
      if (isObject(val)) {
  
        if (seen.indexOf(val) >= 0) return '...';
  
        seen.push(val);
      }
      return val;
    });
  }
  
  function toDebugString(obj) {
    if (typeof obj === 'function') {
      return obj.toString().replace(/ \{[\s\S]*$/, '');
    } else if (isUndefined(obj)) {
      return 'undefined';
    } else if (typeof obj !== 'string') {
      return serializeObject(obj);
    }
    return obj;
  }
  