E.g. a cloaked, enemy Terran Wraith would have the following flags set:
exists() == true
isDetected() == false
isCloaked() == false
isBurrowed() == false
getHitPoints() == 0
the type will be correctly reported as Terran Wraith
Everything seems to be as expected except for isCloaked() returning false.