code: def _represent_arguments(*arguments, **keyword_arguments):
      
      argument_strings = [repr(a) for a in arguments]
      keyword_strings = [
          '='.join((k, repr(v))) for k, v in keyword_arguments.items()]
      return ', '.join(argument_strings + keyword_strings)
docs: Represent the aruments in a form suitable as a key (hashable)
  
      And which will be recognisable to user in error messages
      >>> print(_represent_arguments([1, 2], **{'fred':'here'}))
      [1, 2], fred='here'