**Use case**

Like `date_time_input_format = 'best_effort'` but with disambiguation to American mm/dd/yyyy style.

* FormatFactorySettings in that it has all necessary user-provided settings
  * combined with information from context etc, that we can use directly during
  * serialization. In contrast, FormatFactorySettings' job is to reflect the
  * changes made to user-visible format settings, such as when tweaking the
  * the format for File engine.
  * NOTE Parameters for unrelated formats and unrelated data types are collected
  * in this struct - it prevents modularity, but they are difficult to separate.
  */
struct FormatSettings
{
    
    
    bool enable_streaming = false;
    bool skip_unknown_fields = false;
    bool with_names_use_header = false;
    bool with_types_use_header = false;
    bool write_statistics = true;
    bool import_nested_json = false;
    bool null_as_default = true;
    bool decimal_trailing_zeros = false;
    bool defaults_for_omitted_fields = true;
    bool seekable_read = true;
    UInt64 max_rows_to_read_for_schema_inference = 100;
    enum class DateTimeInputFormat
    {
        Basic,      
        BestEffort  
    };
    DateTimeInputFormat date_time_input_format = DateTimeInputFormat::Basic;
    enum class DateTimeOutputFormat