docs: function typeOf(item) {
        var ret, modulePath;
  
        // ES6TODO: Depends on Ember.Object which is defined in runtime.
        if (typeof EmberObject === "undefined") {
          modulePath = 'ember-runtime/system/object';
          if (Ember.__loader.registry[modulePath]) {
            EmberObject = Ember.__loader.require(modulePath)['default'];
          }
        }
  
        ret = (item === null || item === undefined) ? String(item) : TYPE_MAP[toString.call(item)] || 'object';
  
        if (ret === 'function') {
          if (EmberObject && EmberObject.detect(item)) ret = 'class';
        } else if (ret === 'object') {
          if (item instanceof Error) ret = 'error';
          else if (EmberObject && item instanceof EmberObject) ret = 'instance';
          else if (item instanceof Date) ret = 'date';
        }
  
        return ret;
      }