instance type hint should be able to overwritten
/** @var MY_PARENT_CLASS $a */
/** @var MY_CHILD_CLASS $a */
the second type hint will NOT take effect, $a is always type hint as MY_PARENT_CLASS no matter how it is re-assigned to another class.
The type hint should be overwritten.