pub fn poseidon2_absorb(
        &mut self,
        p2_hash_and_absorb_num: Var<C::N>,
        input: &Array<C, Felt<C::F>>,
    ) {
        self.push_op(DslIr::Poseidon2AbsorbBabyBear(p2_hash_and_absorb_num, input.clone()));
    }
Applies the Poseidon2 absorb function to the given array.

Reference: [p3_symmetric::PaddingFreeSponge]
crates/recursion/compiler/src/ir/poseidon.rs