I have an enum named ProgrammingLanguage : enum ProgrammingLanguage { case Swift, Haskell, Scala } Now I have a class named Programmer with the following property: let favouriteLanguages: ProgrammingLanguage = .Swift Seeing how a programmer could have several favourite languages, I'd thought it'd be nice to write something like this: let favouriteLanguages: ProgrammingLanguage = [.Swift, .Haskell] After a bit of research, I realized that I need to conform to OptionSetType , but in doing so, I've raise the following 3 errors: ProgrammingLanguage does not conform to SetAlgebraType OptionSetType