anchor.diff:  
       function ToString: string;
   
  -    property Numerator: BigInteger read FNum;
  -    property Denominator: BigInteger read FDenom;
  +    property Numerator: BigInteger read FNumerator;
  +    property Denominator: BigInteger read FDenominator;
       property Sign: Integer read GetSign;
  +
     end;
   
   implementation
  
positive.code: 
  class operator BigRational.Implicit(const Value: Double): BigRational;
  begin
  
  end;
  
  class operator BigRational.Implicit(const Value: Int64): BigRational;
  begin
  
  end;
  
  class operator BigRational.IntDivide(const Left, Right: BigRational): BigRational;
  begin
  
  end;
  
  class operator BigRational.LessThan(const Left, Right: BigRational): Boolean;
  begin
    Result := Compare(Left, Right) < 0;
  
  end;
  
  class operator BigRational.LessThanOrEqual(const Left, Right: BigRational): Boolean;
  begin
    Result := Compare(Left, Right) <= 0;
  
  end;
  
  class operator BigRational.Modulus(const Left, Right: BigRational): BigRational;
  begin
  
  end;
  
  class operator BigRational.Multiply(const Left, Right: BigRational): BigRational;
  begin
    Result.FNum := Left.FNum * Right.FNum;
    Result.FDenom := Left.FDenom * Right.FDenom;
    Result.Normalize;
  end;
  
  
negative.code:     class operator Multiply(const Left, Right: BigRational): BigRational; static;
      class function Divide(const Left, Right: BigRational): BigRational; static;
      class operator Divide(const Left, Right: BigRational): BigRational; static;
      class operator IntDivide(const Left, Right: BigRational): BigInteger; static;
      class operator Modulus(const Left, Right: BigRational): BigRational; static;
      class procedure DivMod(const Left, Right: BigRational; var Quotient: BigInteger; var Remainder: BigRational); static;
  
      class function Compare(const Left, Right: BigRational): Integer; static;
      class operator LessThan(const Left, Right: BigRational): Boolean;
  