In Python when you reference a field in an object, and that object is a function in the object's class, it creates a "bound" method for you to call that injects that magical "self" parameter into the argument list. Conceptually this means that the "call" operation is unaware of objects and methods, it just operates on callable.
In javascript, on the other hand, methods are not bound by default. Instead, when a call is made, it does things differently for a method call - it sets the hidden "this" parameter based on the object the function was fetched from. So the "call" operation has to know whether a method is being called and, if so, what object it is called on.
Current thought: