Límites de sucesiones y tipos de números en Haskell

En Haskell se dispone de tres tipos para trabajar con los números racionales: dos como números aproximados (Float y Double) y uno como números exactos (Rational). En este ejemplo veremos cómo el uso de números aproximados puede conducir a falsas conjeturas sobre límites de sucesiones que pueden refutarse con el uso de los números exactos. Para ello consideraremos tres definiciones de la sucesión u:

\begin{array}{l}     u_0 = \frac{3}{2} \\ \\     u_1 = \frac{5}{3} \\ \\     u_{n} = 2003 - \frac{6002}{u_{n-1}} + \frac{4000}{u_{n-1} \cdot u_{n-2}},         \mbox{ para } n \geq 2     \end{array}

usando en cada caso uno de los tipos y conjeturando el límite de la sucesión.