code: def required_unique(objects, key):
      
      keys = {}
      duplicate = set()
      for k in map(key, objects):
          keys[k] = keys.get(k, 0) + 1
          if keys[k] > 1:
              duplicate.add(k)
      if duplicate:
          return (False, u"Duplicate object keys: {}".format(duplicate))
      return (True, u"")
docs: A pyrsistent invariant which requires all objects in the given iterable to
      have a unique key.
  
      :param objects: The objects to check.
      :param key: A one-argument callable to compute the key of an object.
  
      :return: An invariant failure if any two or more objects have the same key
          computed.  An invariant success otherwise.