     }
     return y
   }
-  
+
   /// Compute the least common multiplier of `x` and `y`.
   public static func lcm(_ x: T, _ y: T) -> T {
     var abs = x * y

    let (res, overflow3) = Rational.rationalWithOverflow(numer, denom)
    return (res, overflow1 || overflow2 || overflow3)
  }
  
  /// Subtract `rhs` from `lhs` and return a tuple consisting of the result and a boolean which
  /// indicates whether there was an overflow.
  public static func subtractWithOverflow(_ lhs: Rational<T>, _ rhs: Rational<T>)

    let (res, overflow3) = Rational.rationalWithOverflow(numer, denom)
    return (res, overflow1 || overflow2 || overflow3)
  }

  /// Multiply `lhs` and `rhs` and return a tuple consisting of the result and a boolean which
  /// indicates whether there was an overflow.
  public static func multiplyWithOverflow(_ lhs: Rational<T>, _ rhs: Rational<T>)
