You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: mod.rs
    path of file: ./repos/holochain-rust/crates/core/src/nucleus/reducers
    
    the code of the file until where you have to start completion: pub mod clear_zome_function_call;
pub mod init_application;
pub mod queue_zome_function_call;
pub mod return_initialization_result;
pub mod return_zome_function_result;
pub mod trace_invoke_hdk_function;
pub mod trace_return_hdk_function;

use crate::{
    action::{Action, ActionWrapper, NucleusReduceFn},
    nucleus::{
        reducers::{
            clear_zome_function_call::reduce_clear_zome_function_call,
            init_application::reduce_initialize_chain,
            queue_zome_function_call::reduce_queue_zome_function_call,
            return_initialization_result::reduce_return_initialization_result,
    
fn resolve_reducer(action_wrapper: &ActionWrapper) -> Option<NucleusReduceFn> {
    match action_wrapper.action() {
        Action::ClearZomeFunctionCall(_) => Some(reduce_clear_zome_function_call),
        Action::ReturnInitializationResult(_) => Some(reduce_return_initialization_result),
        Action::InitializeChain(_) => Some(reduce_initialize_chain),
        Action::ReturnZomeFunctionResult(_) => Some(reduce_return_zome_function_result),
        Action::QueueZomeFunctionCall(_) => Some(reduce_queue_zome_function_call),
        Action::TraceInvokeHdkFunction(_) => Some(reduce_trace_invoke_hdk_function),
        Action::TraceReturnHdkFunction(_) => Some(reduce_trace_return_hdk_function),
        _ => None,
    }
}