bool listEqualsWithComparer(List a, List b, {required bool Function(T i1, T i2) equals}) { if (identical(a, b)) { return true; } if (a.length != b.length) { return false; } for (int index = 0; index < a.length; index++) { if (!equals(a[index], b[index])) { return false; } } return true; }