--- a/src/forward_pdps.rs Wed Jul 22 16:48:22 2026 -0500 +++ b/src/forward_pdps.rs Sun Jul 26 17:30:51 2026 -0500 @@ -240,8 +240,7 @@ // Merge spikes. // This crucially expects the merge routine to be stable with respect to spike locations, // and not to performing any pruning. That is be to done below simultaneously for γ. - let ins = &config.insertion; - if ins.merge_now(&state) { + config.insertion.if_merge_now(&state, |ins| { stats.merged += prox_penalty.merge_spikes( &mut μ, &mut τv, @@ -252,7 +251,7 @@ ®, Some(|μ̃: &RNDM<N, F>| f.apply(Pair(μ̃, &z))), ); - } + }); // Prune spikes with zero weight. stats.pruned += prune_with_stats(&mut μ);