def _represent_args(*args, **kwargs):
    """Represent the aruments in a form suitable as a key (hashable)

    And which will be recognisable to user in error messages
    >>> print(_represent_args([1, 2], **{'fred':'here'}))
    [1, 2], fred='here'
    """
    argument_strings = [repr(a) for a in args]
    keyword_strings = ["=".join((k, repr(v))) for k, v in kwargs.items()]
    return ", ".join(argument_strings + keyword_strings)