     Cell == Model.Cell,
     View: CellDequeueing
 {
+    /**
+     The cell to be displayed at the given index path.
+
+     This is designed to be called from `tableView(_:cellForRowAt:)`
+    */
     func tableCell(forRowAt indexPath: IndexPath) -> UITableViewCell? {
         guard let cellModel = model.item(at: indexPath) else {
             return nil

}

extension TableControlling {
    var numberOfSectionsInTable: Int {
        return model.numberOfSections
    }
    
    func numberOfItems(inTableSection section: Int) -> Int {
        return model.numberOfItems(inSection: section)
    }

    associatedtype SectionFooter: Equatable
    associatedtype Footer: Equatable
    
    /**
     The view model underlying the table.
    */
