function className(value) {
			return (
				(value.constructor && value.constructor.name) ||
				// The next branch is for IE11 support only:
				// Because the name property is not set on the prototype
				// of the Function object, we finally try to grab the
				// name from its definition. This will never be reached
				// in node, so we are not able to test this properly.
				// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name
				(typeof value.constructor === "function" &&
					/* istanbul ignore next */
					functionName(value.constructor)) ||
				null
			);
		}
Returns a display name for a value from a constructor

@param  {object} value A value to examine
@returns {(string|null)} A string or null