anchor.diff:      Path = re:split(Field, <<"\\.">>),
       lists:foreach(fun(P) ->
           if P /= <<>> -> ok; true ->
  -            throw({invalid_field_name, Field})
  +            ?MANGO_ERROR({invalid_field_name, Field})
           end
       end, Path),
       rem_field(Props, Path);
  
positive.code:     Path = re:split(Field, <<"\\.">>),
      lists:foreach(fun(P) ->
          if P /= <<>> -> ok; true ->
              throw({invalid_field_name, Field})
          end
      end, Path),
      set_field(Props, Path, Value);
  
negative.code:         {Op, Fun} ->
              Fun;
          false ->
              ?MANGO_ERROR({update_operator_not_supported, Op})
      end;
  update_operator_fun(_) ->
      undefined.
  