dynamic evaluate(List<AstNode> nodes) { dynamic result; for (var node in nodes) { result = evaluateNode(node); } return result; }