<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def max_substring(words, position=0, _last_letter=''):
 """Finds max substring shared by all strings starting at position Args: words (list):
 list of unicode of all words to compare position (int):
 starting position in each word to begin analyzing for substring _last_letter (unicode):
 last common letter, only for use internally unless you really know what you are doing Returns: unicode: max str common to all words Examples: .. code-block:: Python 'aaa' 'bbb' '' """


    # If end of word is reached, begin reconstructing the substring
    try:
        letter = [word[position] for word in words]
    except IndexError:
        return _last_letter

    # Recurse if position matches, else begin reconstructing the substring
    if all(l == letter[0] for l in letter) is True:
        _last_letter += max_substring(words, position=position + 1,
                                      _last_letter=letter[0])
        return _last_letter
    else:
        return _last_letter