pub type ResolveFunction = fn(&[Box<dyn DataType>]) -> Box<dyn DataType>;
A function that resolve a dynamic type depending on a list of already resolved types