def get_type_name(cls):
    """Gets the name of a type.

    This function is used to produce a key for each wrapper to store its states in a dictionary of wrappers' states.

    Args:
        cls: The input class.
    Returns:
        str: Name of the class.
    """
    name = "{}:{}".format(cls.__class__.__module__, cls.__class__.__name__)
    # name = str(type(cls))
    return name