Extract BinaryExpression abstract base class
Pull type parameter up

from individual methods to the visitor interface
Evaluate a number
Evaluate addition
Evaluate a variable

Use an environment
Test addition of variable and number
Remove Evaluate from IExpression
Remove Value property from IExpression