This code performs function evaluation before overload resolution completes. Currently, for C++, this is a waste if overload resolution results in a different function than the one which was evaluated but it breaks a future patch of mine which introduces a fake place holding variable needed for proper template function evaluation. This patch cleans up the above Sami Wagiaalla