DataContract is needed to allow serialization of the classes with DataContractSerializer. Indeed, we can use the serializer without putting the attributes, but in some of the classes we'll use seri...
UnaryExpression and BinaryExpression are missing some of the properties of the immutable expression classes. Check when they are used and how they can be implemented in the muttable expression classes
Expression class holds a Type property, while in MetaLinq, only a few EditableExpression classes have a Type property. It's preferable to move the Type property to the base class, so it will match...
captured variables are compiled into private sealed classes and therefore cannot be serialized - trying to serializing such an expression fails
Expression types holds properties of reflection type (Type, MemberInfo, ConstructorInfo...) and these types cannot be serialized. Consider adding a wrap property on reflection types that can be se...
Create a test project that executes different lambda expressions serialization back-and-forth