Error message associated with TypeError can be improved by including stringified call (IR) Node. Example:
var obj = {}
obj.func()
-> TypeError: obj.foo is not a function
arr = [33]
arr[0].obj.func()
-> TypeError: arr[0].func is not a function