'isInt'|'isFloat'|...|'instanceof', 'class' => ''] * Null means no runtime type check needed. */ public ?array $typeCheck = null; /** Human-readable type string for error messages, e.g. "int|string", "?int" */ public string $typeStr = ''; /** Original union/nullable AST node. Only set when typeCheck is non-null. */ public ?NodeAbstract $typeNode = null; }