Richard addresses the issues involved when passing custom types using WCF.