Definition of the different allowed types
Added method to infer the type of an expression in DBE form