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