compare method
Compares two values.
Implementation
@override
int compare(T left, T right) {
final leftKind = findKindByInstance(left);
final rightKind = findKindByInstance(right);
if (leftKind == rightKind) {
return leftKind.compare(left, right);
}
return kindIndexOfKind(leftKind).compareTo(kindIndexOfKind(rightKind));
}