pub fn validate_witness<F, P, M, Composition>(
    multilinears: &[M],
    sum_claims: impl IntoIterator<Item = CompositeSumClaim<F, Composition>>
) -> Result<(), Error>
where F: Field, P: PackedField<Scalar = F>, M: MultilinearPoly<P> + Send + Sync, Composition: CompositionPoly<P>,