tag foo { large; small; } fn main() { auto a = tup(1,2,3); auto b = tup(1,2,3); assert (a == b); assert (a != tup(1,2,4)); assert (a < tup(1,2,4)); assert (a <= tup(1,2,4)); assert (tup(1,2,4) > a); assert (tup(1,2,4) >= a); auto x = large; auto y = small; assert (x != y); assert (x == large); assert (x != small); }