Hey! First I would like to say your comment is great and everything you say is absolutely true!
This article is meant as an introduction, to get someone to Level 2. The questions and comments you have are some Level 3 stuff.
Hey, great response man, you really spent a lot of time thinking about this stuff.
So you are right that for these examples it would be more simple how you write the method:
const map = (x, f) => Array.prototype.map.call(x, f);