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