             oa[j - 1] = .index(i - 1)
         }
 
+        // obtain deletes elements
         var runningOffset = 0
         var deleteOffsets = Array(repeating: 0, count: self.count.hashValue)
         for (oldIndex, element) in oa.enumerated() {

        return self.startIndex ..< self.endIndex
    }

    /// Longest Common SubSequence Table
    func matrixUsingLCS<C>(byComparing other: C, in range: Range<Index>? = nil) -> (Ranges<Index>, Matrix<Index>) where
        C: Collection,
        C.Index == Index,

        return backtrackChangesUsingLCS(byComparing: other, in: range)
    }

    /// Return an array of Longest Common Subsequence diffing results.
    ///
    /// - Parameters:
    ///     - other: a collection to compare with.
    ///     - range: a range for both collection to apply the algorithm on.
    ///       If `range` is `nil`, the operation will perform on the entire collections.
    func compareUsingLCS<C>(_ other: C, in range: Range<Index>? = nil) -> [Diff<Step>] where
        C: Collection,
        C.Index == Index,
