why do you distunguish `key_comp()` and `value_comp()` when they are actually the same?