anchor.diff:  var
     P: PVarData;
     VType: TVarType;
  +  Intf: IInterface;
   begin
     P := FindVarData(Value);
     VType := P^.VType;
  
positive.code:   P := FindVarData(Value);
    Result := (P^.VType = varUnknown) and
              Supports(IInterface(P^.VUnknown), IMap) or
              VarIsObj(Value, TAbstractMap);
  end;
  
  
negative.code:   VType: TVarType;
  begin
    VType := FindVarData(Value)^.VType;
    Result := (VType = varUnknown) or (VType = (varUnknown or varByRef)) or
              (VType = varNull) or (VType = varEmpty);
  end;
  
  function VarIsIntf(const Value: Variant; const IID: TGUID): Boolean;
  