<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def lower_underscore(string, prefix='', suffix=''):
 """ Generate an underscore-separated lower-case identifier, given English text, a prefix, and an optional suffix. Useful for function names and variable names. `prefix` can be set to `''`, though be careful - without a prefix, the function will throw `InvalidIdentifier` when your string starts with a number. Example: 'this_is_an_identifier' """


    return require_valid(append_underscore_if_keyword('_'.join(
        word.lower()
        for word in en.words(' '.join([prefix, string, suffix])))
    ))