anchor.diff:          ( op=relationType t=term { conditions.emplace_back(key, cql3::column_condition::raw::simple_condition(t, {}, op)); }
           | K_IN
               ( values=singleColumnInValues { conditions.emplace_back(key, cql3::column_condition::raw::in_condition({}, {}, values)); }
  -            | marker=inMarker { conditions.emplace_back(key, cql3::column_condition::raw::in_condition({}, marker, {})); }
  +            | marker1=marker { conditions.emplace_back(key, cql3::column_condition::raw::in_condition({}, marker1, {})); }
               )
           | '[' element=term ']'
               ( op=relationType t=term { conditions.emplace_back(key, cql3::column_condition::raw::simple_condition(t, element, op)); }
               | K_IN
                   ( values=singleColumnInValues { conditions.emplace_back(key, cql3::column_condition::raw::in_condition(element, {}, values)); }
  -                | marker=inMarker { conditions.emplace_back(key, cql3::column_condition::raw::in_condition(element, marker, {})); }
  +                | marker1=marker { conditions.emplace_back(key, cql3::column_condition::raw::in_condition(element, marker1, {})); }
                   )
               )
           )
  
positive.code:     | u=usertypeLiteral    { $value = std::move(u); }
      | t=tupleLiteral       { $value = std::move(t); }
      | K_NULL               { $value = null(); }
      | ':' id=ident         { $value = new_bind_variables(id); }
      | QMARK                { $value = new_bind_variables(shared_ptr<cql3::column_identifier>{}); }
      ;
  
  intValue returns [expression value]
      :
      | t=INTEGER     { $value = untyped_constant{untyped_constant::integer, $t.text}; }
      | ':' id=ident  { $value = new_bind_variables(id); }
      | QMARK         { $value = new_bind_variables(shared_ptr<cql3::column_identifier>{}); }
      ;
  
  functionName returns [cql3::functions::function_name s]
  
negative.code:     : '(' t1=tupleLiteral { $literals.emplace_back(std::move(t1)); } (',' ti=tupleLiteral { $literals.emplace_back(std::move(ti)); })* ')'
      ;
  
  tupleOfMarkersForTuples returns [std::vector<expression> markers]
      : '(' m1=marker { $markers.emplace_back(std::move(m1)); } (',' mi=marker { $markers.emplace_back(std::move(mi)); })* ')'
      ;
  
  // The comparator_type rule is used for users' queries (internal=false)
  