Let's say you were using Workflow Foundation (WF) and Windows Communication Foundation (WCF). Assume you wanted to use WF's Persistence mechanism (which requires types to be Serializable ). And assume that all the objects you were using in the workflow were decorated with the [DataContract] attribute...