Sorry, I marked LucMeekes`s answer as correct because of his level is less than yours, don`t be offended by me 🙂
Don't worry! Most of us don't care about that level, points, ... 🙂
BTW, the main point is that the symbolic evaluation must be done INSIDE the program. In your trials you evaluated the whole function symbolically which happens automatically if the function is just a one-liner.
That was the reason for my dummy line with the quotes.
As an alternative you can put the symbolic eval in parenthesis like ...:=(t coeffs, x[i -> )
All this won't work in Prime, BTW, as they have broken the possibility to insert symbolic evals inside programmed functions 😞