code: def numpy_function_infer_call_result(node):
      
      #  Put the origin infer_call_result method into the closure
      origin_infer_call_result = node.infer_call_result
  
      def infer_call_result_wrapper(caller=None, context=None):
          """
          Call the origin infer_call_result method bounded to the node instance and
          filter the results to remove List and Tuple instances
          """
          unfiltered_infer_call_result = origin_infer_call_result(caller, context)
          return (
              x
              for x in unfiltered_infer_call_result
              if not isinstance(x, (astroid.List, astroid.Tuple))
          )
  
      return infer_call_result_wrapper
docs: A wrapper around infer_call_result method bounded to the node.
  
      :param node: the node which infer_call_result should be filtered
      :type node: FunctionDef
      :return: a function that filter the results of the call to node.infer_call_result
      :rtype: function