def _format_arg_list(args, variadic=False):
    """Format a list of arguments for pretty printing.

    :param a: list of arguments.
    :type a: list

    :param v: tell if the function accepts variadic arguments
    :type v: bool
    """
    def sugar(s):
        """Shorten strings that are too long for decency."""
        s = s.replace("{", "{{").replace("}", "}}")
        if len(s) > 50:
            return s[:20] + " ... " + s[-20:]
        else:
            return s

    def arg_to_str(arg):
        """Convert argument to a string."""
        if isinstance(arg, str):
            return sugar(repr(arg))
        elif arg is Parameter.empty:
            return '\u2014'
        else:
            return sugar(str(arg))

    if not args:
        if variadic:
            return "(\u2026)"
        else:
            return "()"

    return "(" + ", ".join(map(arg_to_str, args)) + ")"
Format a list of arguments for pretty printing.

    :param a: list of arguments.
    :type a: list

    :param v: tell if the function accepts variadic arguments
    :type v: bool