more advanced TypeInfo