class_docstr: The only concrete implementation of GenericCache we use outside of tests
  currently.
  
  Adopts a modified least-frequently used eviction policy: It evicts the key
  that has been used least recently, but it will always preferentially evict
  keys that have only ever been accessed once. Among keys that have been
  accessed more than once, it ignores the number of accesses.
  
  This retains most of the benefits of an LRU cache, but adds an element of
  scan-resistance to the process: If we end up scanning through a large
  number of keys without reusing them, this does not evict the existing
  entries in preference for the new ones.
class_docstr_tok: ["The","only","concrete","implementation","of","GenericCache","we","use","outside","of","tests","currently",".","Adopts","a","modified","least-frequently","used","eviction","policy",":","It","evicts","the","key","that","has","been","used","least","recently",",","but","it","will","always","preferentially","evict","keys","that","have","only","ever","been","accessed","once",".","Among","keys","that","have","been","accessed","more","than","once",",","it","ignores","the","number","of","accesses",".","This","retains","most","of","the","benefits","of","an","LRU","cache",",","but","adds","an","element","of","scan-resistance","to","the","process",":","If","we","end","up","scanning","through","a","large","number","of","keys","without","reusing","them",",","this","does","not","evict","the","existing","entries","in","preference","for","the","new","ones","."]
code: def unpin(self, key):
      try:
          super().unpin(key)
      except KeyError:
          assert key not in self.keys_to_indices
  
imports: import attr
label_desc: Use image node_id 6 for calling the LRUReusedCache obj's underlying member method code with example usage: obj.unpin(key) without return types