function type (obj) {
  var m = toString.call(obj).match(/\[object (.*)\]/);
  return m ? m[1] : m;
}
Returns the internal "type" of `obj` via the
`Object.prototype.toString()` trick.

@param {Mixed} obj - any value
@returns {String} the internal "type" name
@api private