anchor.diff:      {[{Field, norm_ops(Cond)}]};
   
   % An implicit $and
  -norm_ops({Props}) when length(Props) > 1 ->
  +norm_ops({[_, _ | _] = Props}) ->
       {[{<<"$and">>, [norm_ops({[P]}) || P <- Props]}]};
   
   % A bare value condition means equality
  
positive.code:             match(Cond, SubValue, Cmp)
      end;
  
  match({Props} = Sel, _Value, _Cmp) when length(Props) > 1 ->
      erlang:error({unnormalized_selector, Sel}).
  
negative.code: 
  % Matches when all elements in values match the
  % sub-selector Arg.
  match({[{<<"$allMatch">>, Arg}]}, [_ | _] = Values, Cmp) ->
      try
          lists:foreach(fun(V) ->
              case match(Arg, V, Cmp) of
  