deftrait Ordering, as: -> typedoc """ This trait defines ordering comparisons for types. """ def compare_with other: Any def equals? other: Any, as: -> match compare_with(other), Ordering.Equal: true, Any: false end def greater_than? other: Any, as: -> match compare_with(other), Ordering.Greater: true, Any: false end def greater_than_or_equal_to? other: Any, as: -> match compare_with(other), Ordering.Greater: true, Ordering.Equal: true, Any: false end def less_than? other: Any, as: -> match compare_with(other), Ordering.Less: true, _: false end def less_than_or_equal_to? other: Any, as: -> match compare_with(other), Ordering.Less: true, Ordering.Equal: true, Any: false end end