WIP: Call overload

@stevengj Turning this into a PR so that I can comment on it easier.
why did this turn into an assert instead of a error?