typeInfo in logical expression
typeInfo class inherits numVariant so has __nonzero__ method. It can be non obviously, especially in logical expressions:
type_info = getTypeInfoOrReturnNone() if type_info: print('type found')
In fact we will see 'type found' if type_info != None and type_info.__nonzero__() == True
typeInfo inherits numVariant for working with constants. I think, const value can be got through special method, for example getValue().