<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def make_worlist_trie(wordlist):
 """ Creates a nested dictionary representing the trie created by the given word list. :param wordlist: str list: :return: nested dictionary {'e': {'i': {'n': {'a': {'n': {'d': {'e': {'r': {'__end__': '__end__'}}}}}, 'e': {'n': {'__end__': '__end__'}}}}}, 'n': {'e': {'b': {'e': {'n': {'__end__': '__end__'}}}}}} """

    dicts = dict()

    for w in wordlist:
        curr = dicts
        for l in w:
            curr = curr.setdefault(l, {})
        curr['__end__'] = '__end__'

    return dicts