   }
 
   /**
-   Returns a reusable `UITableViewHeaderFooterView` object for the class infered by the return-type
-   
+   Returns a reusable `UITableViewHeaderFooterView` object for the class inferred by the return-type
+
    - parameter viewType: The view class to dequeue
-   
+
    - returns: A `Reusable`, `UITableViewHeaderFooterView` instance
 
    - seealso: `dequeueReusableHeaderFooterViewWithIdentifier(_:)`
    */
-  final func dequeueReusableHeaderFooterView<T: UITableViewHeaderFooterView where T: Reusable>(indexPath: NSIndexPath, viewType: T.Type = T.self) -> T? {
+  final func dequeueReusableHeaderFooterView<T: UITableViewHeaderFooterView where T: Reusable>(viewType: T.Type = T.self) -> T? {
     guard let view = self.dequeueReusableHeaderFooterViewWithIdentifier(viewType.reuseIdentifier) as? T? else {
       fatalError(
         "Failed to dequeue a header/footer with identifier \(viewType.reuseIdentifier) matching type \(viewType.self). " +

  }

  /**
   Returns a reusable `UITableViewCell` object for the class infered by the return-type

   - parameter indexPath: The index path specifying the location of the cell.
   - parameter cellType: The cell class to dequeue


   - seealso: `dequeueReusableCellWithIdentifier(_:,forIndexPath:)`
   */
  final func dequeueReusableCell<T: UITableViewCell where T: Reusable>(indexPath indexPath: NSIndexPath, cellType: T.Type = T.self) -> T {
    guard let cell = self.dequeueReusableCellWithIdentifier(cellType.reuseIdentifier, forIndexPath: indexPath) as? T else {
      fatalError(
        "Failed to dequeue a cell with identifier \(cellType.reuseIdentifier) matching type \(cellType.self). " +
