Accidentally stumbled upon an interesting post.
In a nutshell:
protocol Unknownable {
static var unknown: Self { get }
}
enum Type: Unknownable {
case text
case image
case document
case unknown
}
So why does the conformence compiles?