A general-purpose serializer for .NET