         return UInt128(0)
     }
 }
+/// Performs a bitwise AND operation on 2 UInt128 data types.
 public func &(lhs: UInt128, rhs: UInt128) -> UInt128 {
     let upperBits = lhs.value.upperBits & rhs.value.upperBits
     let lowerBits = lhs.value.lowerBits & rhs.value.lowerBits
     return UInt128(upperBits: upperBits, lowerBits: lowerBits)
 }
+/// Performs a bitwise OR operation on 2 UInt128 data types.
 public func |(lhs: UInt128, rhs: UInt128) -> UInt128 {
     let upperBits = lhs.value.upperBits | rhs.value.upperBits
     let lowerBits = lhs.value.lowerBits | rhs.value.lowerBits
     return UInt128(upperBits: upperBits, lowerBits: lowerBits)
 }
+/// Performs a bitwise XOR operation on 2 UInt128 data types.
 public func ^(lhs: UInt128, rhs: UInt128) -> UInt128 {
     let upperBits = lhs.value.upperBits ^ rhs.value.upperBits
     let lowerBits = lhs.value.lowerBits ^ rhs.value.lowerBits
     return UInt128(upperBits: upperBits, lowerBits: lowerBits)
 }
+/// Performs bit inversion on the provided UInt128 data type
+/// and returns the result.
 prefix public func ~(rhs: UInt128) -> UInt128 {
     let upperBits = ~rhs.value.upperBits
     let lowerBits = ~rhs.value.lowerBits

}
// MARK: - BitwiseShiftType
extension UInt128: BitwiseShiftType {}
public func <<(lhs: UInt128, rhs: UInt128) -> UInt128 {
    if rhs.value.upperBits > 0 || rhs.value.lowerBits >= 128 {
        return UInt128(0)

    default: return UInt128(0)
    }
}
/// 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)
