===description===
invariant rejects subtype arg
===file===
<?php
/** @template T */
class Box {
    /** @return T */
    public function get(): mixed { return null; }
}
class Animal {}
class Cat extends Animal {}
/** @param Box<Animal> $b */
function f(Box $b): void { var_dump($b->get()); }
function test(): void {
    /** @var Box<Cat> $c */
    $c = new Box();
    f($c);
}
===expect===
InvalidArgument@14:6: Argument $b of f() expects 'Box<Animal>', got 'Box<Cat>'
===ignore===
TODO
