anchor.diff:                 , _Callbacks
                  ) ->
     {pass, []};
  +
   %% Not expected
   validate_simple(Key, undefined = E, A, ?UNEXPECTED, _Callbacks) ->
     {unexpected, {Key, E, A}};
  +
   %% Expected undefined
   validate_simple(Key, undefined = _E, A, Unexpected, Callbacks) ->
     validate_primitive(Key, Unexpected, A, Callbacks);
  +
   %% Expected but undefined
   validate_simple(Key, E, undefined = A, _Unexpected, _Callbacks) ->
     {not_equal, {Key, E, A}};
  +
   %% Otherwise
   validate_simple(Key, E, A, _Unexpected, Callbacks) ->
     validate_primitive(Key, E, A, Callbacks).
  
positive.code: %% Expected anything
  validate_primitive(_Key, ?MATCH_ANY, _A, _Callbacks) ->
    {pass, []};
  
  %% Expected actual
  validate_primitive(_Key, _E, _E, _Callbacks) ->
    {pass, []};
  %% Expected text
  validate_primitive(Key, E, A, Callbacks) when is_binary(A) ->
    validate_primitive(Key, E, from_utf8(A), Callbacks);
  
negative.code:     _ ->
        {not_equal, {Key, E, A}}
    end;
  
  %% Otherwise
  validate_primitive(Key, E, A, _Callbacks) ->
    {not_equal, {Key, E, A}}.
  