title: In Swift, how to extend a typealias?
body: <p>I have a typealias:</p>
  
  <pre><code>typealias BeaconId = [String: NSObject]
  </code></pre>
  
  <p>I'd like to extend it by doing something like:</p>
  
  <pre><code>extension BeaconId {}
  </code></pre>
  
  <p>But this throws a compile error:</p>
  
  <blockquote>
    <p>Constrained extension must be declared on the unspecialized generic type 'Dictionary' with constraints specified by a 'where' clause</p>
  </blockquote>
  
  <p>So I end up doing:</p>
  
  <pre><code>extension Dictionary where Key: StringLiteralConvertible, Value: NSObject {}
  </code></pre>
  
  <p>Is there a cleaner way to do this? </p>