The resolution of overloading in Section 6.5 proceeds in two phases: first the set of possible types for each sub expression is determined and then narrowed down in a second phase to a single type after tbe unique type of the entire expression is determined. What data structures would you use to resolve overloading in a single bottom-up pass?