add Value.IsTrue to make AST_If easier to implement