/// negation to already have been handled as an expression; however, here we do not expect domain
pub fn parse_expression(obj: &JsonValue, scope: &Rc<RefCell<SymbolTable>>) -> Option<Expression> {
fn parse_abs_record(abs_record: &Value, scope: &Rc<RefCell<SymbolTable>>) -> Option<Expression> {
// if the current expr is a quantifier like and/or/sum and it contains a comprehension, let the comprehension know what it is inside.