 ///  and the type of supplementary views in the collection view, respectively.
 public protocol CollectionSupplementaryViewFactoryType {
 
-    /// The type of the instance (model object) backing the collection view.
+    ///  The type of the instance (model object) backing the collection view.
     typealias DataItem
 
-    /// The type of `UICollectionReusableView` that the factory produces.
+    ///  The type of `UICollectionReusableView` that the factory produces.
     typealias SupplementaryView: UICollectionReusableView
 
     ///  Creates and returns a new `SupplementaryView` instance, or dequeues an existing view for reuse.

                                                     CellFactory.DataItem == DataItem,
                                                     SupplementaryViewFactory.DataItem == DataItem> {

    public var sections: [SectionInfo]

    public let cellFactory: CellFactory

    public let supplementaryViewFactory: SupplementaryViewFactory?

    public var dataSource: UICollectionViewDataSource { return bridgedDataSource }

    public init(sections: [SectionInfo], cellFactory: CellFactory, supplementaryViewFactory: SupplementaryViewFactory? = nil, collectionView: UICollectionView? = nil) {
        self.sections = sections
        self.cellFactory = cellFactory

///  An instance conforming to `CollectionViewSectionInfo` represents a section of items in a collection view.
public protocol CollectionViewSectionInfo {

    ///  The type of elements stored in the section.
    typealias DataItem

    ///  Returns the elements in the collection view section.
    var dataItems: [DataItem] { get }
}

