pub unsafe extern "C" fn LLVMRustGetOrInsertFunction<'a>(
    M: &'a Module,
    Name: *const c_char,
    NameLen: size_t,
    FunctionTy: &'a Type
) -> &'a Value