code: def wrap_reducer(reducer_function):
      """convert a reducer function to have an arraylike interface
  
      Args:
          reducer_function (func): a function ``f`` of the form ``y = reduce(f, x)``.
  
      Returns:
          a function ``f`` of the form ``y = f(x)``, where ``x`` is array-like.
  
      Examples:
          >>> acum = wrap_reducer(numpy.add)
          >>> acum([1,2,3,4])
          10
          >>> prod = wrap_reducer(lambda x,y: x*y)
          >>> prod([1,2,3,4])
          24
      """
  
      def _reduce(x):  # NOTE: not a decorator
          return reduce(reducer_function, x)
  
      return _reduce
  
imports: from functools import reduce
  from collections.abc import Callable
  from mystic._counter import Counter
  from itertools import permutations
  from dill.source import getblocks
  from dill.source import getsource
  from mystic.monitors import Monitor
  from mystic.monitors import VerboseMonitor
  from mystic.monitors import LoggingMonitor
  from mystic.monitors import CustomMonitor
  from mystic.monitors import Null
label_desc: Use image node_id 29 for calling a global function with example usage: wrap_reducer(reducer_function) and returns: _reduce, reduce