мы уже копались выше с примером Promise.reject который, как оказалось, не обязательно возвращает rejected promise.
Сможете придумать пример где Array.map вернет не Array?
И обьяснить єто
var arr=[1,2,3];
// ваш код
var res = arr.map( x => x * 2 );
// произошел вызов оригинального метода map из коструктора Array
console.log( Array.isArray (res) ); // false
console.log( res instanceof Array ); // false
console.log( res );
// {0: 2, 1: 4, 2: 6, length: 3}
Подменять оригинальный map из конструктора Array нельзя.