Moved implementation of sort in compound datasets to abstract class and
specialized return type of element getter
Migrated comparisons class to dataset interface
Internal change to dataset interface
Reverted class that was mistakely committed
Added single-value dataset exemption to item size check
Migrated more methods to use dataset interface