pub fn alloc(next_addr: &mut C::F) -> Address<C::F> {
        let id = Address(*next_addr);
        *next_addr += C::F::one();
        if next_addr.is_zero() {
            panic!("out of address space");
        }
        id
    }
Allocate a fresh address. Checks that the address space is not full.
crates/recursion/compiler/src/circuit/compiler.rs