Generalized type