docs: def unique_everseen(iterable, key=None):
      """
      The generator to list unique elements, preserving the order. Remember all
      elements ever seen. This was taken from the itertools recipes.
  
      Args:
          iterable (:obj:`iter`): An iterable to process.
          key (:obj:`callable`): Optional function to run when checking
              elements (e.g., str.lower)
  
      Yields:
          The next unique element found.
      """
  
      seen = set()
      seen_add = seen.add
  
      if key is None:
  
          for element in filterfalse(seen.__contains__, iterable):
  
              seen_add(element)
              yield element
  
      else:
  
          for element in iterable:
  
              k = key(element)
  
              if k not in seen:
  
                  seen_add(k)
                  yield element