         disposable += tableView.reactive.dataSource.feed(
             property: dataSource,
             to: #selector(NSTableViewDataSource.tableView(_:objectValueFor:row:)),
-            map: { (dataSource: UnderlyingCollection?, _: NSTableView, _: NSTableColumn, row: Int) -> Any? in
+            map: { (dataSource: Element.UnderlyingCollection?, _: NSTableView, _: NSTableColumn, row: Int) -> Any? in
                 return dataSource?[row]
             }
         )

        disposable += tableView.reactive.dataSource.feed(
            property: dataSource,
            to: #selector(NSTableViewDataSource.numberOfRows(in:)),
            map: { (dataSource: UnderlyingCollection?, _: NSTableView) -> Int in
                return dataSource?.count ?? 0
            }
        )

        disposable += tableView.reactive.delegate.feed(
            property: dataSource,
            to: #selector(NSTableViewDelegate.tableView(_:viewFor:row:)),
            map: { (dataSource: Element.UnderlyingCollection?, tableView: NSTableView, tableColumn: NSTableColumn, row: Int) -> NSView? in
                guard let dataSource = dataSource else { return nil }
                return binder.cellForRow(at: row, tableColumn: tableColumn, tableView: tableView, dataSource: dataSource)
            }
