title: Unique set of MKAnnotations
body: <p>So what I'm trying to do is to update the annotations on a <code>mapview</code>, but I want to put them into a Set first so to check for existing, new and removed annotations. I'm having some checking for conformance of the Hashable <code>protocol</code> because of this </p>
  
  <blockquote>
    <p>Protocol 'Hashable' can only be used as a generic constraint because
    it has Self or associated type requirements</p>
  </blockquote>
  
  <p>Any ideas on how to do what I want</p>
  
  <pre><code>var set: Set&lt;Hashable&gt; = Set()
  for annotation in self.annotations {
       guard let hashable = annotation as? Hashable else { continue }
       set.update(with: hashable)
  }
  </code></pre>