What are we going to do with empty value types?
The most sensible thing seems to allow them to be declared but not
constructed. e.g.
final __ByValue class Void {} // <- ok
Void v = __Make Void(); // <- error cannot construct empty type.
Paul