pub(crate) fn new(label: Label, guards: Vec<(usize, usize)>, increments: Vec<usize>) -> MockSummand {
pub(crate) fn with_step(label: Label, guards: Vec<(usize, usize)>, pos: usize, step: usize) -> MockSummand {
fn prepare<'a>(&'a self, _context: &mut MockContext, _state: &'a [usize]) -> impl Iterator<Item = usize> + 'a {
fn enumerate<F>(&self, context: &mut MockContext, state: &[usize], mut report: F) -> Result<(), MercError>
for (slot, &(_, lo, _)) in deltas[digit + 1..].iter_mut().zip(&self.increments[digit + 1..]) {