     // ======================================================= //
     
     /// A collection containing just the keys of the ordered dictionary in the correct order.
-    public var orderedKeys: LazyMapBidirectionalCollection<OrderedDictionary<Key, Value>, Key> {
+    public var orderedKeys: OrderedDictionaryKeys<Key, Value> {
         return self.lazy.map { $0.key }
     }
     
     /// A collection containing just the values of the ordered dictionary in the correct order.
-    public var orderedValues: LazyMapBidirectionalCollection<OrderedDictionary<Key, Value>, Value> {
+    public var orderedValues: OrderedDictionaryValues<Key, Value> {
         return self.lazy.map { $0.value }
     }
     

/// A view into an ordered dictionary whose indices are a subrange of the indices of the ordered
/// dictionary.
public typealias OrderedDictionarySlice<Key: Hashable, Value> = Slice<OrderedDictionary<Key, Value>>
    
#else

/// A view into an ordered dictionary whose indices are a subrange of the indices of the ordered
/// dictionary.
public typealias OrderedDictionarySlice<Key: Hashable, Value> = BidirectionalSlice<OrderedDictionary<Key, Value>>
    
#endif


}

// ======================================================= //
// MARK: - Subtypes
// ======================================================= //

#if swift(>=4.1)
