def _inspect(instance):
is_piper = isinstance(instance, Piper)<EOL>is_function = isinstance(instance, FunctionType) or isbuiltin(instance)<EOL>is_worker = isinstance(instance, Worker)<EOL>is_iterable = getattr(instance, '<STR_LIT>', False) and not(is_piper or is_function or is_worker)<EOL>is_iterable_p = is_iterable and isinstance(instance, Piper)<EOL>is_iterable_f = is_iterable and (isinstance(instance[<NUM_LIT:0>], FunctionType) orisbuiltin(instance[<NUM_LIT:0>]))<EOL>is_iterable_w = is_iterable and isinstance(instance[<NUM_LIT:0>], Worker)<EOL>return (is_piper, is_worker, is_function, is_iterable_p, is_iterable_w,is_iterable_f)<EOL>
(internal) Determines the type of a given ``object``. Discriminates between 
``Piper``, ``Worker``, ``FunctionType`` and  ``Iterable`` instances. It 
returns  a  ``tuple`` of boolean variables i.e: (is_piper, is_worker, 
is_function,  is_iterable_of_pipers, is_iterable_of_workers, 
is_iterable_of_functions).