title: Switch with cases with casting
body: <p>I want to do this with a switch:</p>
  
  <pre><code> protocol TestProtocol {}
  
   class A: TestProtocol {}
   class B: TestProtocol {}
  
   var randomObject: TestProtocol
  
   if let classAObj = randomObject as? A {
   } else if let classBObj = randomObject as? B {}
  </code></pre>
  
  <p>I want something like this:</p>
  
  <pre><code>switch randomObject {
      case let classAObj = randomObject as? A:
           ...
      case let classBObj = randomObject as? B:
           ....
       default:
           fatalError("not implemented")
  }
  </code></pre>