add `Compare` trait
add `Natural` comparator
add `Rev` comparator
add `Lexicographic` comparator