<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:

def _extract_optional_list_field(blob, name):
    '''Handle optional fields that can be either a string or a list of
    strings.'''
    value = _optional_list(typesafe_pop(blob, name, []))
    if value is None:
        raise ParserError(
            '"{}" field must be a string or a list.'.format(name))
    return value