         areInIncreasingOrder: (Element, Element) throws -> Bool
     ) rethrows {
         let keysAndValues = try Array(unsorted).sorted(by: areInIncreasingOrder)
-        self.init(uniqueKeysWithValues: keysAndValues)
+        
+        self.init(
+            uniqueKeysWithValues: keysAndValues,
+            minimumCapacity: unsorted.count
+        )
     }
     
     /// Initializes an ordered dictionary from a sequence of values keyed by a unique key extracted

    // ======================================================= //
    
    /// Initializes an empty ordered dictionary.
    public init() {}
    
    /// Initializes an ordered dictionary from a regular unsorted dictionary by sorting it using the
    /// the given sort function.
    ///
    /// - Parameter unsorted: The unsorted dictionary.

    // ======================================================= //
    
    /// The backing storage for the ordered keys.
    fileprivate var _orderedKeys: [Key]
    
    /// The backing storage for the mapping of keys to values.
    fileprivate var _keysToValues: [Key: Value]
    
}

