* use function pointers for traversing an AST and evaluating math
operations.

* put template function definition of MathOperationHandle in header
file.