def enforce_callable_or_none_any (self, _callables, _argument_count = None) :
		
		for _callable in _callables :
			if _callable is None or (callable (_callable) and (_argument_count is None or callables.match_callable_spec_argument_count (_callable, _argument_count))) :
				return True
		
		raise EnforcementError (self.enforce_callable_or_none_any, callables = _callables, argument_count = _argument_count)
	def enforce_callable_all (self, _callables, _argument_count = None) :
		
		for _callable in _callables :
			if not callable (_callable) or (_argument_count is not None and not callables.match_callable_spec_argument_count (_callable, _argument_count)) :
				raise EnforcementError (self.enforce_callable_all, callables = _callables, argument_count = _argument_count)
		
		return True
	def enforce_callable_spec_or_none (self, _callable, _argument_count = None) :
		
		if _callable is not None and ((not isinstance (_callable, tuple) and not callable (_callable)) or (_argument_count is not None and not callables.match_callable_spec_argument_count (_callable, _argument_count))) :
			raise EnforcementError (self.enforce_callable_spec_or_none, callable = _callable, argument_count = _argument_count)
		
		return True