That's why I said void is "more or less like a type" and asked about "unit" as a "first class void" - i.e. a "void" that is a real type that works like other types.
Not exactly first-class but useful at times.
I think null is wrong too, because it references the fact that in most languages, types are a sum type of "all possible valid inputs" plus "null". Rust avoids null and has no null pointers unless you use unsafe code.
Unit means "there is precisely one instance of this type". It is the unitary type.
While your post is correct for () the type, if I consider () the value, your post could be transformed without loss of accuracy to:
Void is not a value either, and you cannot return it from a function. I think null is a closer match.
Value or type neither half is the whole story.