For rational functions, for instance. It seems that would mainly involve: - copying the `RationalField<I>` implementation; - extending it from `I::Type: IntegerRing` to at least `I::Type: EuclideanRing`; - replacing `signed_gcd` with `gcd` and `signed_lcm` with `lcm`.