 
     /// Returns the `ComparableItem` that belongs to the provided index path.
     public func tableViewItem(indexPath: IndexPath) -> DeltaTableViewItem {
-        return sections[(indexPath as NSIndexPath).section].items[(indexPath as NSIndexPath).row]
+        return sections[indexPath.section].items[indexPath.row]
     }
 
     

    
    
    public func tableView(_ tableView: UITableView, estimatedHeightForRowAt indexPath: IndexPath) -> CGFloat {
        return estimatedCellHeights[(indexPath as NSIndexPath).section, (indexPath as NSIndexPath).row] ?? tableView.estimatedRowHeight
    }
    
    
    public func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
        estimatedCellHeights[(indexPath as NSIndexPath).section, (indexPath as NSIndexPath).row] = cell.bounds.height
        learnedCellHeights[(indexPath as NSIndexPath).section, (indexPath as NSIndexPath).row] = cell.bounds.height
    }
    
    

    // MARK: Selection
    
    public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        let item = sections[indexPath.section].items[indexPath.row]
        
        if let selectableItem = item as? SelectableTableViewItem {
            selectableItem.selectionHandler?()
