     
     - returns: The next element of the queue, if it exists.
     */
-    public func front() -> T? {
+    public func front() -> Element? {
         if empty { return nil }
         
         return items[0]

    
    - 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 {
