anchor.diff:                                   'WHERE'       = W1,
                                    cover_context = Cover} = Q) ->
       {W2,_} = resolve_expressions(Mod, W1),
  -    case {compile_where(DDL, [W2]), unwrap_cover(Cover)} of
  +    case {compile_where(DDL, lists:flatten([W2])), unwrap_cover(Cover)} of
           {{error, E}, _} ->
               {error, E};
           {_, {error, E}} ->
  
positive.code: cast_value_to_ast(T, V) when (T == integer orelse T == timestamp), is_float(V)   -> {T, erlang:round(V)};
  cast_value_to_ast(float, V) when is_integer(V) -> {integer, V*1.0};
  cast_value_to_ast(float, V) when is_float(V)   -> {integer, V}.
  
  % typeof_ast(Mod, FieldName) when is_binary(FieldName) ->
  %     Mod:get_field_type([FieldName]).
  
  -record(filtercheck, {name,'=','>','>=','<','<='}).
  
  
negative.code:     lists:keyreplace(Field, 1, TupleList, {Field, FieldType, NewVal}).
  
  resolve_expressions(Mod, WhereAST) ->
      Acc = acc, %% not used
      riak_ql_ddl:mapfold_where_tree(
          fun (_, Op, Acc_x) when Op == and_; Op == or_ ->
                  {ok, Acc_x};
  