chain_comparer impl