docs: def does_not_contain(*avoid_keys, error_cls=ValueError):
      """Decorator: value must not contain any of the :attr:`avoid_keys`.
      """
  
      def decorator(func):
          def not_contains(instance, attribute, value):
              instance_name = instance.__class__.__name__
  
              num_matched_keys = len(set(avoid_keys) & value.keys())
              if num_matched_keys > 0:
                  avoid_keys_str = ', '.join(avoid_keys)
                  err_str = ("Given keys ({num_matched} of {{avoid_keys}} "
                             "that must not be given in the '{attr}' of a "
                             "'{cls}'").format(num_matched=num_matched_keys,
                                               avoid_keys=avoid_keys_str,
                                               attr=attribute.name,
                                               cls=instance_name)
                  raise error_cls(err_str)
  
              return func(instance, attribute, value)
          return not_contains
      return decorator