Right now it's only possible to resolve scalar functions by ID (+ the specific overload you want). This works, but anyone directly constructing logical plans with scalar function calls has to implement overload resolution logic for each scalar function. This couples the code to PLR implementation details, at least when resolving built-in functions, since it's necessary to understand in what order the overloads are defined and what kinds of overloads are available in order to properly construct a call.
Right now it's only possible to resolve scalar functions by ID (+ the specific overload you want). This works, but anyone directly constructing logical plans with scalar function calls has to implement overload resolution logic for each scalar function. This couples the code to PLR implementation details, at least when resolving built-in functions, since it's necessary to understand in what order the overloads are defined and what kinds of overloads are available in order to properly construct a call.