def run_verbose(message, fn, args=[]):
    """
    Calls the function provided by 'fn' with the parameters provided in 'args'.
    Prints '[message] ... done', with '[message] ...' printed at the start of
    the function call and 'done' printed at the end of the function call.
    """
    print('{} ...'.format(message), end=' ', flush=True)
    result = fn(*args)
    print('done')
    return result