anchor.diff:      Result = do_update({Props}, Update),
       case has_operators(Result) of
           true ->
  -            throw(update_leaves_operators);
  +            ?MANGO_ERROR(update_leaves_operators);
           false ->
               ok
       end,
  
positive.code:     Path = re:split(Field, <<"\\.">>),
      lists:foreach(fun(P) ->
          if P /= <<>> -> ok; true ->
              throw({invalid_field_name, Field})
          end
      end, Path),
      rem_field(Props, Path);
  
negative.code:     Path = re:split(Field, <<"\\.">>),
      lists:foreach(fun(P) ->
          if P /= <<>> -> ok; true ->
              ?MANGO_ERROR({invalid_field_name, Field})
          end
      end, Path),
      get_field(Props, Path, Validator);
  