     }
     // Prime the result making the remainder equal the dividend. This will get
     // decremented until no further even divisions can be made.
-    var result = (quotient: UInt128(0), remainder: dividend)
+    var result: (quotient: UInt128, remainder: UInt128) = (0, dividend)
     // Initially shift the divisor left by significant bit difference so that quicker
     // division can take place. IE: Discover GCD (Greatest Common Divisor).
     // This value will get shifted right as the algorithm gets closer to the final solution.
-    var shiftedDivisor: UInt128 = divisor << (dividend.significantBits - divisor.significantBits)
+    var shiftedDivisor = divisor << (dividend.significantBits - divisor.significantBits)
     // Initially shift 1 by the same amount as shiftedDivisor. Subtracting shiftedDivisor
     // from dividend will be equal to that many subtractions of divisor from dividend.
     var adder: UInt128 = 1 << (dividend.significantBits - divisor.significantBits)

/// Shifts `lhs`' bits right by `rhs` bits and returns the result.
public func >>(lhs: UInt128, rhs: UInt128) -> UInt128 {
    if rhs.value.upperBits > 0 || rhs.value.lowerBits > 128 {
        return UInt128(0)
    }
    switch rhs {
    case 0: return lhs // Do nothing shift.

    case 65...127:
        let lowerBits = lhs.value.upperBits >> (rhs.value.lowerBits - 64)
        return UInt128(upperBits: 0, lowerBits: lowerBits)
    default: return 0
    }
}
public func >>=(lhs: inout UInt128, rhs: UInt128) {
