// do these type parameters work? or back to O? static bool doubleEq(A a1, A a2, B b1, B b2) { ret eq(a1, a2) && eq(b1, b2); }