Unified equals implementations