Before proceeding to call the special user-specific function check for the right overload.
Before proceeding to call the special user-specific function check for the right overload.

This implementation is a bit cumbersome, but the key advantage is that we do not
create AST nodes on the heap. We create some nodes which will help the overload
candidate selector to do the selection. After it returned true/false (there is/isn't
proper function to call) we free all the used memory and proceed in calling the
user defined function.

root-mirror/cling,karies/cling,karies/cling,marsupial/cling,perovic/cling,perovic/cling,karies/cling,marsupial/cling,perovic/cling,perovic/cling,karies/cling,marsupial/cling,root-mirror/cling,root-mirror/cling,karies/cling,root-mirror/cling,marsupial/cling,marsupial/cling,perovic/cling,marsupial/cling,karies/cling,root-mirror/cling,root-mirror/cling