One can make a very good argument that in elementary calculus, we actually use what logicians would call "terms", but refer to them as "functions". For example, if f is a unary function symbol and x is a variable then f(x) is a term, different from f(y) if y is a different variable. It's possible to develop everything quite rigorously using this machinery and when the dust clears, you get a rigorous version of what is actually done in practice in the elementary calculus classroom. As an advantage, certain things become much clearer, for instance, there's a very nice abstract multivariable chain rule which I describe in this paper: https://philpapers.org/archive/ALEFDV.pdf