anchor.diff:    end;
   
     TAppVariantTypeId = (
  +    avrNil,
       avrBool,
       avrInt,
       avrStr,
  -    avrRect,
  +    avrTupleInt,
  +    avrTupleIntStr,
       avrDict
       );
   
  
positive.code:     Result:= AppDir_Home+Copy(Result, 3, MaxInt);
  end;
  
  function AppVariant(Value: boolean): TAppVariant;
  begin
    Result.Typ:= avrBool;
    Result.Bool:= Value;
  end;
  
  function AppVariant(const Value: Int64): TAppVariant;
  begin
    Result.Typ:= avrInt;
    Result.Int:= Value;
  end;
  
  function AppVariant(const Value: string): TAppVariant;
  begin
    Result.Typ:= avrStr;
    Result.Str:= Value;
  end;
  
  function AppVariant(const Value: TRect): TAppVariant;
  begin
    Result.Typ:= avrRect;
    Result.Rect:= Value
  end;
  
  
  
negative.code:   end;
  end;
  
  function AppVariantToString(const V: TAppVariant): string;
  begin
    case V.Typ of
  