Hi Am 2025-06-03 17:42, schrieb Gina P. Banyard:
A type system should be logical, and the fact that the top type (mixed) is not a super-type of all types doesn't make any sense.
I do not consider `void` to be a type per se, but rather as an indicator for the absence of a value. Basically the difference between a “procedure” and a “function” [1]. That's why it makes sense to me to treat `void` differently from the other types. See also: The `(void)` cast which we decided to make a statement rather than an expression that always evaluates to `null`.
Best regards Tim Düsterhus [1] https://stackoverflow.com/a/721132