new type hierarchy
comparison operators and + defined on datum