def generate_smaller_sublists(word_list, max_chunk_length=None):
    """
    This function takes (a part of) a list and returns a new list containing all small sublists of
    the original (partial) list in shrinking order Ie.: [a, sample, list] will return:
    [['a', 'sample', 'list'], ['a', 'sample'], ['a']]

    """

    if not max_chunk_length or max_chunk_length > len(word_list):
        max_chunk_length = len(word_list)
    return [word_list[0:x] for x in range(max_chunk_length, 0, -1)]