Return a class representation using the slice parameters.

        Args:
            type_: The type the class was sliced with. This will always be
                _STR_TYPE.
            bound: The boundaries specified for the values of type_.
            keyfunc: The comparison function used to check the value
                boundaries. This will always be builtins.len().
            keyfunc_name: The name of keyfunc. This will always be 'len'.

        Returns:
            A string representing the class.

def _get_class_repr(cls, type_, bound, keyfunc, keyfunc_name):
        # type: (Any, slice, Callable, str) -> str
        """Return a class representation using the slice parameters.

        Args:
            type_: The type the class was sliced with. This will always be
                _STR_TYPE.
            bound: The boundaries specified for the values of type_.
            keyfunc: The comparison function used to check the value
                boundaries. This will always be builtins.len().
            keyfunc_name: The name of keyfunc. This will always be 'len'.

        Returns:
            A string representing the class.
        """
        return "{}.{}[{}]".format(
            cls.__module__, cls.__name__, cls._get_bound_repr(bound)
        )