WriteCsv and ToCsvString should have overloaded versions to force output of all public properties and fields
Util.WriteCsv(IEnumerable<T> elements, string filePath) skips properties of T that are of types that do not belong to a certain hardcoded "approved" list of types, which, in the current version, seems to include string, int, float, double, bool, DateTime and decimal. For example, if T has a property of the Uri type, it will not be included. It is possible to override this behavior by using the overloaded version that takes "params string[] membersToInclude" argument(s), but this requires explicitly listing all members of type T that are to be included in the output. It would be nice to have an overloaded version that forces the output of all public methods and fields regardless of their types. Naturally, the ToString() method has to be used to convert field and property values to their textual representations.