anchor.diff:      Result := True
     else if VType = varUnknown then
       Result := Supports(IInterface(P^.VUnknown), IID)
  +  else if VType = (varUnknown or varByRef) then
  +    Result := Supports(IInterface(P^.VPointer^), IID)
     else
       Result := False;
   end;
  
positive.code:     Result := nil
    else if VType = varUnknown then
      Supports(IInterface(P^.VUnknown), IMap, Result)
    else if VarIsObj(Value, TAbstractMap) then
      VarToObj(Value, TAbstractMap, Result)
    else
  
negative.code: var
    P: PVarData;
    VType: TVarType;
    Intf: IInterface;
  begin
    P := FindVarData(Value);
    VType := P^.VType;
  