diff --git a/benches/commit.rs b/benches/commit.rs
index de0c6e1ddc1997dfdaebd4fc89d6574763fdad13..c2d50a3efa9e48b39879432154bf5aac9187596e 100644
--- a/benches/commit.rs
+++ b/benches/commit.rs
@@ -1,12 +1,10 @@
 use std::time::Duration;
 
-use ark_bls12_381::{Bls12_381, Fr, G1Projective};
 use ark_ec::{pairing::Pairing, CurveGroup};
 use ark_ff::PrimeField;
 use ark_poly::{univariate::DensePolynomial, DenseUVPolynomial};
-use ark_std::ops::Div;
-
 use ark_poly_commit::kzg10::{Powers, KZG10};
+use ark_std::ops::Div;
 
 use criterion::{black_box, criterion_group, criterion_main, Criterion};
 
@@ -62,17 +60,25 @@ where
 }
 
 fn commit(c: &mut Criterion) {
+    fn aux<F: PrimeField, G: CurveGroup<ScalarField = F>>(c: &mut Criterion, degree: usize) {
+        commit_template::<F, G, DensePolynomial<F>>(c, black_box(degree));
+    }
+
     for n in [1, 2, 4, 8, 16] {
-        commit_template::<Fr, G1Projective, DensePolynomial<Fr>>(c, black_box(n));
+        aux::<ark_bls12_381::Fr, ark_bls12_381::G1Projective>(c, n);
+        aux::<ark_bn254::Fr, ark_bn254::G1Projective>(c, n);
+        aux::<ark_pallas::Fr, ark_pallas::Projective>(c, n);
     }
 }
 
 fn ark_commit(c: &mut Criterion) {
+    fn aux<E: Pairing>(c: &mut Criterion, degree: usize) {
+        ark_commit_template::<E, DensePolynomial<E::ScalarField>>(c, black_box(degree));
+    }
+
     for n in [1, 2, 4, 8, 16] {
-        ark_commit_template::<Bls12_381, DensePolynomial<<Bls12_381 as Pairing>::ScalarField>>(
-            c,
-            black_box(n),
-        );
+        aux::<ark_bls12_381::Bls12_381>(c, n);
+        aux::<ark_bn254::Bn254>(c, n);
     }
 }
 
diff --git a/benches/linalg.rs b/benches/linalg.rs
index dafffa784aaa66cd2557f62642625de6ad4cd8a1..632484e4e937e62fe6788f39a24cecd068a0178d 100644
--- a/benches/linalg.rs
+++ b/benches/linalg.rs
@@ -1,6 +1,5 @@
 use std::time::Duration;
 
-use ark_bls12_381::Fr;
 use ark_ff::PrimeField;
 
 use criterion::{black_box, criterion_group, criterion_main, Criterion};
@@ -19,7 +18,9 @@ fn inverse_template<F: PrimeField>(c: &mut Criterion, n: usize) {
 
 fn inverse(c: &mut Criterion) {
     for n in [10, 15, 20, 30, 40, 60, 80, 120, 160, 240, 320] {
-        inverse_template::<Fr>(c, black_box(n));
+        inverse_template::<ark_bls12_381::Fr>(c, black_box(n));
+        inverse_template::<ark_bn254::Fr>(c, black_box(n));
+        inverse_template::<ark_pallas::Fr>(c, black_box(n));
     }
 }
 
@@ -35,7 +36,9 @@ fn transpose_template<F: PrimeField>(c: &mut Criterion, n: usize) {
 
 fn transpose(c: &mut Criterion) {
     for n in [10, 15, 20, 30, 40, 60, 80, 120, 160, 240, 320] {
-        transpose_template::<Fr>(c, black_box(n));
+        transpose_template::<ark_bls12_381::Fr>(c, black_box(n));
+        transpose_template::<ark_bn254::Fr>(c, black_box(n));
+        transpose_template::<ark_pallas::Fr>(c, black_box(n));
     }
 }
 
@@ -51,8 +54,10 @@ fn mul_template<F: PrimeField>(c: &mut Criterion, n: usize) {
 }
 
 fn mul(c: &mut Criterion) {
-    for n in [10, 15, 20, 30, 40, 60, 80, 120, 160, 240, 320] {
-        mul_template::<Fr>(c, black_box(n));
+    for n in [10, 15, 20, 30, 40, 60, 80, 120] {
+        mul_template::<ark_bls12_381::Fr>(c, black_box(n));
+        mul_template::<ark_bn254::Fr>(c, black_box(n));
+        mul_template::<ark_pallas::Fr>(c, black_box(n));
     }
 }
 
diff --git a/benches/recoding.rs b/benches/recoding.rs
index d5b986a4c10582dc7cbd1a6ee072089d58d987c2..e9a19e9340a55194c1165adb395d763b7c68d83d 100644
--- a/benches/recoding.rs
+++ b/benches/recoding.rs
@@ -1,6 +1,5 @@
 use std::time::Duration;
 
-use ark_bls12_381::Fr;
 use ark_ff::PrimeField;
 use ark_std::rand::Rng;
 
@@ -56,7 +55,9 @@ fn criterion_benchmark(c: &mut Criterion) {
     for nb_bytes in [1, 1_024, 1_024 * 1_024] {
         for nb_shards in [2, 4, 8, 16] {
             for k in [2, 4, 8, 16] {
-                bench_template::<Fr>(c, nb_bytes, k, nb_shards);
+                bench_template::<ark_bls12_381::Fr>(c, nb_bytes, k, nb_shards);
+                bench_template::<ark_bn254::Fr>(c, nb_bytes, k, nb_shards);
+                bench_template::<ark_pallas::Fr>(c, nb_bytes, k, nb_shards);
             }
         }
     }
diff --git a/benches/setup.rs b/benches/setup.rs
index 42f3e166f65deb7de70ae5dce295a9e9ea1b5b4f..a4405d143ac2539adbd76431fbd5ab538c2baba8 100644
--- a/benches/setup.rs
+++ b/benches/setup.rs
@@ -1,6 +1,5 @@
 use std::time::Duration;
 
-use ark_bls12_381::Bls12_381;
 use ark_ec::{pairing::Pairing, CurveGroup};
 use ark_ff::PrimeField;
 use ark_poly::{univariate::DensePolynomial, DenseUVPolynomial};
@@ -146,17 +145,25 @@ where
 }
 
 fn setup(c: &mut Criterion) {
+    fn aux<F: PrimeField, G: CurveGroup<ScalarField = F>>(c: &mut Criterion, degree: usize) {
+        setup_template::<F, G, DensePolynomial<F>>(c, black_box(degree));
+    }
+
     for n in [1, 2, 4, 8, 16] {
-        setup_template::<Fr, G1Projective, DensePolynomial<Fr>>(c, black_box(n));
+        aux::<ark_bls12_381::Fr, ark_bls12_381::G1Projective>(c, n);
+        aux::<ark_bn254::Fr, ark_bn254::G1Projective>(c, n);
+        aux::<ark_pallas::Fr, ark_pallas::Projective>(c, n);
     }
 }
 
 fn ark_setup(c: &mut Criterion) {
+    fn aux<E: Pairing>(c: &mut Criterion, degree: usize) {
+        ark_setup_template::<E, DensePolynomial<E::ScalarField>>(c, black_box(degree));
+    }
+
     for n in [1, 2, 4, 8, 16] {
-        ark_setup_template::<Bls12_381, DensePolynomial<<Bls12_381 as Pairing>::ScalarField>>(
-            c,
-            black_box(n),
-        );
+        aux::<ark_bls12_381::Bls12_381>(c, n);
+        aux::<ark_bn254::Bn254>(c, n);
     }
 }
 
diff --git a/examples/bench_setup_size.rs b/examples/bench_setup_size.rs
index 804181c8e9876470498b145c5a0b8e2dae6f3291..c3673224d6f0e2b3b384ac3b873a4bc5f58578c4 100644
--- a/examples/bench_setup_size.rs
+++ b/examples/bench_setup_size.rs
@@ -1,4 +1,3 @@
-use ark_bls12_381::{Fr, G1Projective};
 use ark_ec::CurveGroup;
 use ark_ff::PrimeField;
 use ark_poly::{univariate::DensePolynomial, DenseUVPolynomial};
@@ -35,7 +34,13 @@ where
 }
 
 fn main() {
+    fn aux<F: PrimeField, G: CurveGroup<ScalarField = F>>(degree: usize) {
+        setup_template::<F, G, DensePolynomial<F>>(degree);
+    }
+
     for n in [1, 2, 4, 8, 16] {
-        setup_template::<Fr, G1Projective, DensePolynomial<Fr>>(n);
+        aux::<ark_bls12_381::Fr, ark_bls12_381::G1Projective>(n);
+        aux::<ark_bn254::Fr, ark_bn254::G1Projective>(n);
+        aux::<ark_pallas::Fr, ark_pallas::Projective>(n);
     }
 }