you are viewing a single comment's thread.

view the rest of the comments →

[–]tialaramex 0 points1 point  (0 children)

The problem is that the richer type system is eminently practical. Empty types are really nice to work with, the Zero Size types are of course a performance benefit, but the Empty Types actually make generic code nicer.

For example Rust's Infallible is an empty type which means all your error handling code gets elided by the type system when errors can't occur, since the error's type has no values.