Writing An Interpreter In Go