code: def _multiply(x, n):
      """elementwise multiplication of x by n, as if x were an array"""
      # short-circuit cases for speed
      if n is None:
          return x
      try:  # for scalars and vectors (numpy.arrays)
          -x  # x*n might not throw an error
          return x * n
      except TypeError:
          pass
      if n == 1:
          return itertype(x)(x)
      # multiply by n != 1 for iterables (iter and non-iter)
      xn = (_multiply(i, n) for i in x)
      # return astype used to construct x, if possible
      return itertype(x)(xn)
  
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 8 for calling a global function with example usage: _multiply(x, n) and returns: itertype, x, unknown, itertype