- We need to properly order the function so that the one with the least number if type differences is the one that is tried first.
- We need to properly order the function so that the one with the least number if type differences is the one that is tried first.