Eval() calls are certainly doing something stupid. Let's change them to return std::string.