Function Symbols with multiple arguments

Ultimately we have to implement a chain rule and partial derivatives, but until then this looks correct, i.e. if any of the arguments have non-zero derivative, we simply return a `Derivative`.