code: def arg_string(f, args, kwargs, reorder=True):
      if reorder:
          args, kwargs = convert_positional_arguments(f, args, kwargs)
  
      argspec = getfullargspec(f)
  
      bits = []
  
      for a in argspec.args:
          if a in kwargs:
              bits.append("%s=%s" % (a, nicerepr(kwargs.pop(a))))
      if kwargs:
          for a in sorted(kwargs):
              bits.append("%s=%s" % (a, nicerepr(kwargs[a])))
  
      return ", ".join([nicerepr(x) for x in args] + bits)
  
imports: from __future__ import absolute_import, division, print_function
  import ast
  import hashlib
  import inspect
  import re
  import types
  from functools import wraps
  from types import ModuleType
  from hypothesis.internal.compat import ARG_NAME_ATTRIBUTE, PY2, getfullargspec, hrange, isidentifier, qualname, str_to_bytes, to_str, to_unicode, update_code_location
  from hypothesis.vendor.pretty import pretty
label_desc: Use image node_id 13 for calling a global function with example usage: arg_string(f, args, kwargs, reorder) and returns: str