anchor.diff:    Result.FData := Copy(Value.FData);
   end;
   
  +function BigInteger.Abs: BigInteger;
  +begin
  +  ShallowCopy(Self, Result);
  +  Result.FSize := Result.FSize and SizeMask;
  +end;
  +
   class function BigInteger.Abs(const Value: BigInteger): BigInteger;
   begin
     ShallowCopy(Value, Result);
  
positive.code:   SaveLeft: PLimb;
    LeftSize, RightSize: Integer;
  asm
          .PUSHNV RSI
          .PUSHNV RDI
          .PUSHNV RBX
  
  
negative.code:     // -- Math functions --
  
      /// <summary>Returns the absolute value of the value in the BigInteger.</summary>
      class function Abs(const Value: BigInteger): BigInteger; overload; static;
  
      /// <summary>Returns the absolute value of the current BigInteger.<summary>
      function Abs: BigInteger; overload;
  
      /// <summary>Returns the bit length, the minimum number of bits needed to represent the value, excluding
      ///   the sign bit.</summary>
  