title: PHPStan: Property with generic class does not specify its types: TKey, T
body: <p>I'm running <strong>PHPStan</strong> on a <strong>Symfony</strong> project where I have the following relation in a <strong>Doctrine</strong> entity:</p>
  
  <pre class="lang-php prettyprint-override"><code>/**
   * @ORM\OneToMany(targetEntity="App\Entity\Course\Slide", mappedBy="chapter", cascade={"persist"}, orphanRemoval=true)
   * @ORM\OrderBy({"listOrder" = "ASC"})
   *
   * @var ArrayCollection&lt;Slide&gt;
   */
  private $slides;
  </code></pre>
  
  <p>Running analysis with <strong>rule level 6</strong> I got the following message about the property (and its getter return type):</p>
  
  <blockquote>
    <p>Property <code>App\Entity\Course\Chapter::$slides</code> with generic class <code>Doctrine\Common\Collections\ArrayCollection</code> does not specify its types: TKey, T<br>
              You can turn this off by setting <code>checkGenericClassInNonGenericObjectType: false</code> in your <code>phpstan.neon</code>.</p>
  </blockquote>
  
  <p>My edit attempts only confused PHPStan, maybe because I'm not fully understanding generics here. But silencing the message just because I don't get it would be stupid.</p>
  
  <p>What am I supposed to add or change in the PHPDoc ?</p>