protected override void DefineColumns(DataViewColumnCollection columns) => columns
 .AddColumn(nameof(Foo.FooCol1), x => x.FooCol1.ToString())
 .AddColumn(nameof(Foo.FooCol2), x => x.FooCol2)
 .AddColumn(nameof(Foo.FooCol3), x => x.FooCol3)
 .AddComplexColumn(nameof(Foo.Bar), x => x.Bar, new BarDataViewType());
 protected override void DefineColumns(DataViewColumnCollection columns) => columns
 .AddColumn(nameof(Bar.BarCol1), x => x.BarCol1)
 .AddColumn(nameof(Bar.BarCol2), x => x.BarCol2);
 protected override void DefineColumns(DataViewColumnCollection columns) => columns
 .AddColumn(nameof(SimpleData.Value1), c => c.Value1)
 .AddColumn(nameof(SimpleData.Value2), c => c.Value2);