result = (*p->right->func)( p->right, frame );
result = parse_evaluate( p->right, frame );
compile_module(    PARSE   *p,    FRAME *frame ){    /* Here we are entering a module declaration block.      */    LIST* module_name = (*p->left->func)( p->left, frame );    LIST* result;    module* outer_module = frame->module;    frame->module = module_name ? bindmodule( module_name->string ) : root_module();    if ( outer_module != frame->module )    {        exit_module( outer_module );        enter_module( frame->module );    }        result = (*p->right->func)( p->right, frame );        if ( outer_module != frame->module )    {        exit_module( frame->module );        enter_module( outer_module );        frame->module = outer_module;    }        list_free( module_name );    return result;}