def empty_check(lst):
    """
    Determines whether the nested n-layer list contains only empty
    and/or None-type items.
    :param lst: any list, integer, float, or string
    :return: True if the nested list is (a) a list and (b) contains
    only empty lists, type objects, or None; otherwise, False
    """
    try:
        if not lst:
            return True
        if (isinstance(lst, str) or isinstance(lst, int) or
                isinstance(lst, float)):
            return False
        else:
            return all(map(empty_check, lst))
    except TypeError:
        # This indicates that lst contains None as an object
        return True