{"ast_node_type":"variable","tokens":[{"end":87,"kind":"keyword","start":0,"text":"if"}]}
    if let Some(period) = stack.iter().skip(1).step_by(2).zip(stack).position(cycled) {
    let mut cyclic = false;
        let period = period.saturating_add(1); // avoid "what if wrapped?" branches