 /// Shifts `lhs`' bits left 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)
+        return 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 UInt128(0)
    }
}
public func >>=(lhs: inout UInt128, rhs: UInt128) {

/// 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 0
    }
    switch rhs {
    case 0: return lhs // Do nothing shift.
