def process_opt_with_defn(process, key, defns, values):

    """ Use the map of option definitions provided (defns) and map of
    project/user-selected preferences (values) to produces appropriate
    command line arguments for the given key (key).

    In all current cases, the proc_fn in the defns map will either
    return the flag (from defns) and some appropriate formatting of
    the value (from values), or will return an empty list.
    """
    
    defn = defns[key]
    value = values[key]
    longname=key
    (flag, proc_fn) = defn
    args = proc_fn(process=process,
                   longname=longname,
                   flag=flag,
                   value=value)
    return args