Having Types.* encourages careless accumulation of types inside it.
If we have Protocol.MsgFromServerProtocol.MsgFromClient instead, we can hope one might double take on Protocol.Customer being canonical and consider if it's really rooted under Protocol or should perhaps Customer be its own module.
Having
Types.*
encourages careless accumulation of types inside it.If we have
Protocol.MsgFromServer
Protocol.MsgFromClient
instead, we can hope one might double take onProtocol.Customer
being canonical and consider if it's really rooted underProtocol
or should perhapsCustomer
be its own module.