Forget all about the data layer. Create DTO:s that works for each specific web service call.
This would be a mess in large domains and hard to manage and maintain. I really prefer the Nullable DTOs. You should have a single Dto for each object mapped from the real world.
This is the business duty to specify how it should be used. Once you create a Dto, then use it according to you business. Calling GetUserAddress service, and don't expect UserAge or any other thing.
There is a single DTO for Users as we map the user to our Object Oriented User in our design.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.