pub fn variable_ize<F, I, O, T>(f: F) -> impl FnMut(I) -> Res<I, O> + Copywhere F: FnMut(I) -> Res<I, T> + Copy, I: Span, O: From<VarVal<T>>,