     
     - parameter newObject: Element to push onto the queue.
     */
-    public mutating func push(newObject: T) {
+    public mutating func push(newObject: Element) {
         items.append(newObject)
     }
     

    
    - returns: Array representation of the queue.
    */
    public func queueAsArray() -> [T] {
        return items
    }
    
    public func generate() -> MCTQueueGenerator<T> {
        return MCTQueueGenerator<T>(items: items[0 ..< items.count])
    }
    
}

import Foundation

/// Generic implementation of a First In First Out (FIFO) queue collection.
public struct MCTQueue<Element : CustomStringConvertible> : CustomStringConvertible, SequenceType {
    
    // MARK: - Properties
    
    /// Underlying container (array) representation of queue.
    private var items = [Element]()
    
    /// The number of elements in the queue.
    public var size: Int {
