Returns true if a prototype of the specified object can be extended

@param {?} obj - source object
@return {boolean}
function canExtendProto(obj) {
	if (!obj) {
		return false;
	}

	if (isArray(obj) || isPlainObject(obj)) {
		return true;
	}

	return isFunction(obj.constructor) && !isNative.test(obj.constructor.toString());
}