code: def check(self, value_spec, arg_name, decorated_function):
  		
  
  		def raise_exception(text_spec):
  			exc_text = 'Argument "%s" for function "%s" has invalid value' % (
  				arg_name, Verifier.function_name(decorated_function)
  			)
  			exc_text += ' (%s)' % text_spec
  			raise ValueError(exc_text)
  
  		if isinstance(value_spec, (tuple, list, set)):
  
  			for single_value in value_spec:
  				if isfunction(single_value) is False:
  					raise RuntimeError(
  						'Invalid specification. Must be function or tuple/list/set of functions'
  					)
  
  			def check(x):
  				for f in value_spec:
  					if f(x) is not True:
  						raise_exception(str(x))
  
  			return check
  
  		elif isfunction(value_spec):
  			return lambda x: None if value_spec(x) is True else raise_exception(str(x))
  		else:
  			raise RuntimeError('Invalid specification. Must be function or tuple/list/set of functions')
docs: Return callable that checks function parameter for value validity. Checks parameter if its value
  		passes specified restrictions.
  
  		:param value_spec: function or list/tuple/set of functions. Each function must accept one parameter and \
  		must return True or False if it passed restrictions or not.
  		:param arg_name: function parameter name
  		:param decorated_function: target function
  		:return: function