The fact that unacceptable parameter would fail compile time validation does not make it any more readable.
var foo = OpaqueTypeName(.{}){};
You don't know. I don't know. It's impossible to tell because the type is opaque to our understanding.
The fact that unacceptable parameter would fail compile time validation does not make it any more readable.