code: def repeatfunc(func, times=None, *args):
      """Call *func* with *args* repeatedly, returning an iterable over the
      results.
  
      If *times* is specified, the iterable will terminate after that many
      repetitions:
  
          >>> from operator import add
          >>> times = 4
          >>> args = 3, 5
          >>> list(repeatfunc(add, times, *args))
          [8, 8, 8, 8]
  
      If *times* is ``None`` the iterable will not terminate:
  
          >>> from random import randrange
          >>> times = None
          >>> args = 1, 11
          >>> take(6, repeatfunc(randrange, times, *args))  # doctest:+SKIP
          [2, 4, 8, 1, 8, 4]
  
      """
      if times is None:
          return starmap(func, repeat(args))
      return starmap(func, repeat(args, times))
  
imports: from collections import deque
  from itertools import chain, combinations, count, cycle, groupby, islice, repeat, starmap, tee
  import operator
  from random import randrange, sample, choice
  from six import PY2
  from six.moves import filter, filterfalse, map, range, zip, zip_longest
label_desc: Use image node_id 13 for calling a global function with example usage: repeatfunc(func, times) and returns: starmap, starmap