   }
 
   @inlinable
+  internal static var shift: Int {
+    @inline(__always)
+    get {
+      return UInt.bitWidth.trailingZeroBitCount
+    }
+  }
+
+  @inlinable
   @inline(__always)
   internal func uncheckedContains(_ bit: Int) -> Bool {
     _sanityCheck(bit >= 0 && bit < UInt.bitWidth)

  @inlinable
  @inline(__always)
  internal static func wordCount(forCapacity capacity: Int) -> Int {
    return (capacity + Word.capacity - 1) / Word.capacity
  }

  @inlinable
  internal var capacity: Int {
    @inline(__always)
    get {
      return wordCount * Word.capacity
    }
  }


    // Note: We perform on UInts to get faster unsigned math (masking).
    let element = UInt(bitPattern: element)
    let capacity = UInt(bitPattern: Word.capacity)
    return Int(bitPattern: element & (capacity &- 1))
  }

  @inlinable
