Type derives Ord and Eq as well