=begin pod

=TITLE class FatRat

=SUBTITLE Rational number (arbitrary-precision)

    class FatRat is Cool does Rational[Int, Int]

A C<FatRat> is a rational number stored with arbitrary size numerator and
denominator. Arithmetic operations involving a C<FatRat> and optionally L<Int>
or L<Rat> objects return a C<FatRat>, avoiding loss of precision.

Since, unlike L<Rat>, FatRat arithmetics do not fall back L<Num> at some
point, there is a risk that repeated arithmetic operations generate
pathologically large numerators and denominators.

There are two common ways to generate C<FatRat> objects: through the
C<FatRat.new(Int, Int)> constructor, which generates them from numerator and
denominator, or by calling the C<.FatRat> method on an L<Int> or L<Rat>
object.

=end pod
