I've seen the Q/A here about the self keyword in Swift.
However, to me this doesn't explain the use of .self in the following code fragment from this question
let attributes: [String: Any] =
[kSecAttrKeyType as String:CFString.self,
kSecAttrKeySizeInBits as String:numberOfBits]
What does self do in this case?