Dynamic Schema, DataView and Pipelines for ML.NET.
Allow inherited classes to be used as DataView by casting to concrete classes at runtime, allowing IDataView to use RuntTime object types.
Simplifies code by allowing many data types to call the same training method, engine method and prediction method simply by inheriting the same interface.