title: Why isn't this function type-annotated correctly (error: Missing type parameters for generic type)?
body: <p>Is this function type-annotated correctly?</p>
  
  <pre><code>import subprocess
  from os import PathLike
  from typing import Union, Sequence, Any
  
  
  def run(shell_command: Union[bytes, str, Sequence[Union[bytes, str, PathLike]]], **subprocess_run_kwargs: Any) -&gt; int:
      return subprocess.run(shell_command, check=True, shell=True, **subprocess_run_kwargs).returncode
  </code></pre>
  
  <p>I'm guessing it's not, because I'm getting:</p>
  
  <p><code>he\other.py:6: error: Missing type parameters for generic type</code></p>
  
  <p>To get the same error, then save the above code in <code>other.py</code>, and then:</p>
  
  <pre><code>$ pip install mypy
  
  $ mypy --strict other.py
  </code></pre>