special case ExpandoObject; we can treat it as a IDictionary<string, object> for great justice