<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def Facade( some_instance=None, exclusion_list=[], cls=None, args=tuple(), kwargs={} ):
 """ Top-level interface to the Facade functionality. Determines what to return when passed arbitrary objects. :param mixed some_instance: Anything. :param list exclusion_list: The list of types NOT to wrap :param class cls: The class definition for the object being mocked :param tuple args: The arguments for the class definition to return the desired instance :param dict kwargs: The keywork arguments for the class definition to return the desired instance :rtype instance: Either the instance passed or an instance of the Wrapper wrapping the instance passed. """

    if not USE_CALIENDO or should_exclude( some_instance, exclusion_list ):
        if not util.is_primitive(some_instance):
            # Provide dummy methods to prevent errors in implementations dependent
            # on the Wrapper interface
            some_instance.wrapper__unwrap = lambda : None
            some_instance.wrapper__delete_last_cached = lambda : None
        return some_instance # Just give it back.
    else:
        if util.is_primitive(some_instance) and not cls:
            return some_instance
        return Wrapper(o=some_instance, exclusion_list=list(exclusion_list), cls=cls, args=args, kwargs=kwargs )