def listify(obj) -> list:
    """Converts obj to a list intelligently.

    Examples
    --------
    Normal usage::

        listify('str')   # ['str']
        listify((1, 2))  # [1, 2]
        listify(len)     # [<built-in function len>]
    """
    if isinstance(obj, str):
        return [obj]
    try:
        return list(obj)
    except TypeError:
        return [obj]