     public func flatten() -> Self {
         return self
     }
+    
 }
 
 extension Set: Flattenable {

    public func flatten() -> Set<Element.Generator.Element> {
        return self.flatMap{$0}
    }

}

infix operator ++ { associativity left precedence 160 }

    
}

extension SequenceType where Generator.Element: Comparable {
    
    public func min(fallbackValue: Self.Generator.Element) -> Self.Generator.Element {
        guard let result = self.minElement() else {
            return fallbackValue
        }
        return result
    }
    
    public func max(fallbackValue: Self.Generator.Element) -> Self.Generator.Element {
        guard let result = self.maxElement() else {
            return fallbackValue
