anchor.diff:  %% @spec objects(Id, Pred, Context) -> List
   objects(_Id, undefined, _Context) ->
       [];
  -objects(Id, Pred, Context) when is_atom(Pred) ->
  -    case m_predicate:name_to_id(Pred, Context) of
  -        {error, _} -> [];
  -        {ok, PredId} -> objects(Id, PredId, Context)
  -    end;
  -objects(Id, Pred, Context) ->
  +objects(Id, Pred, Context) when is_integer(Pred) ->
       case z_depcache:get({objects, Pred, Id}, Context) of
           {ok, Objects} ->
               Objects;
  
positive.code:             Objects = [ ObjId || {ObjId} <- Ids ],
              z_depcache:set({objects, Pred, Id}, Objects, ?DAY, [Id], Context),
              Objects
      end.
  
  
  
negative.code: %% @spec subjects(Id, Pred, Context) -> List
  subjects(_Id, undefined, _Context) ->
      [];
  subjects(Id, Pred, Context) when is_integer(Pred) ->
      case z_depcache:get({subjects, Pred, Id}, Context) of
          {ok, Objects} ->
              Objects;
  