отвечая на твой вопрос да, компараторы реализуются таким образом, но их применяют весьма редко, потому что когда у тебя мемоизирована вся система состояний целиком, на каждом шаге вычислений, поводов для кастомных проверок намного меньше
то есть тут становится важным тот факт, что эффектор ориентирован на состояния, и состояния у него first class citizens, в отличии от rxjs и redux, в которых нужно прилагать усилия для достижения того, что в эффекторе работает по дефолту