AbsoluteValuable AnyCollectionType AnyObject ArrayLiteralConvertible BidirectionalIndexType BitwiseOperationsType BooleanLiteralConvertible BooleanType CVarArgType CollectionType Comparable CustomDebugStringConvertible CustomLeafReflectable CustomPlaygroundQuickLookable CustomReflectable CustomStringConvertible DictionaryLiteralConvertible Equatable ErrorType ExtendedGraphemeClusterLiteralConvertible FloatLiteralConvertible FloatingPointType ForwardIndexType GeneratorType Hashable Indexable IntegerArithmeticType IntegerLiteralConvertible IntegerType IntervalType LazyCollectionType LazySequenceType MirrorPathType MutableCollectionType MutableIndexable MutableSliceable NilLiteralConvertible OptionSetType OutputStreamType RandomAccessIndexType RangeReplaceableCollectionType RawRepresentable ReverseIndexType SequenceType SetAlgebraType SignedIntegerType SignedNumberType Streamable Strideable StringInterpolationConvertible StringLiteralConvertible UnicodeCodecType UnicodeScalarLiteralConvertible UnsignedIntegerType _ArrayBufferType _ArrayType _CVarArgAlignedType _CVarArgPassedAsDouble _CollectionWrapperType _DestructorSafeContainer _DisallowMixedSignArithmetic _Incrementable _IntegerArithmeticType _IntegerType _MirrorType _NSArrayCoreType _NSCopyingType _NSDictionaryCoreType _NSDictionaryType _NSEnumeratorType _NSFastEnumerationType _NSSetCoreType _NSSetType _NSStringCoreType _ObjectiveCBridgeable _PointerType _RandomAccessAmbiguity _Reflectable _ReverseCollectionType _SequenceWrapperType _ShadowProtocol _SignedIntegerType _SinkType _StringElementType