Most of the comparer code is ported.