Currently to clone my DTOs I'm implementing IClonable, but this (and the alternatives like a clone ctor) mean that I need to add implementation logic into my (otherwise) data-only object.
Is there a better way to clone DTOs, or is including clone logic considered to be OK?