anchor.diff:                      end,
                       case Value of
                           {struct, _V} ->
  -                            triples(Value, ProcessingState);
  +                            triples(Value, StateWithSubject);
                           _ ->
                               [triple(State#state.subject, Property, Value, State#state.context)]
                       end
  
positive.code: %% Internal API
  %%
  
  triples({struct, Props}, InitialState) ->
      ProcessingState = extract_processing_state(InitialState, Props),
      lists:foldl(
          fun({Key, Value}, State) ->
              ExtractedTriples = case Key of
  
negative.code:             NewTriples = lists:append(State#state.triples, ExtractedTriples),
              State#state{triples = NewTriples}
          end,
          StateWithSubject,
          Props).
  
  triples({struct, Props}, InitialState) ->
      %% Local Context: merge if exists
      StateWithLocalContext = process_local_context({struct, Props}, InitialState),
      %% Subject
      StateWithSubject = process_subject({struct, Props}, StateWithLocalContext),
      %% Everything else
      process_other({struct, Props}, StateWithSubject);
  
  triples([H|T], InitialState) ->
      [triples(H, InitialState) | triples(T, InitialState)];
  