static A replaceIfEqual(A a, A b, A c) { ret eq(a, b) ? c : a; }