     return lhs._nativeIndex == rhs._nativeIndex
   }
 
-  switch (lhs, rhs) {
+  switch (lhs.value, rhs.value) {
   case (._Native(let lhsNative), ._Native(let rhsNative)):
     return lhsNative == rhsNative
   case (._Cocoa(let lhsCocoa), ._Cocoa(let rhsCocoa)):

  }
}

@public enum DictionaryGenerator<KeyType : Hashable, ValueType> : Generator {
  // Dictionary has a separate Generator and Index because of efficiency
  // and implementability reasons.
  //


  @transparent
  var _nativeIndex: _NativeIndex {
    switch value {
    case ._Native(let nativeIndex):
      return nativeIndex
    case ._Cocoa:
