title: Cython runtime exception when invoking method single arg with keyword
body: <p>I have python code that I convert to Cython.
  I get a runtime exception on the following scenario:</p>
  <pre><code>class A:
     def foo(self, some_arg: int):
         pass
      
  a = A()
  some_arg = 5
  a.foo(some_arg=some_arg)
  </code></pre>
  <p>The error is:</p>
  <pre><code>TypeError: foo() takes no keyword arguments
  </code></pre>
  <p>I found some relevant data <a href="https://github.com/cython/cython/issues/2881" rel="nofollow noreferrer">here</a>.
  However:</p>
  <ol>
  <li>The error is in runtime, not compile time as I would expect.</li>
  <li>When adding to the setup.py file a compliler directive <code>always_allow_keywords=True</code> as suggested, I get corrupted .so files upon cythonizing the code. When I try to load them I get this error: <code>file xxx.so is too short</code>.</li>
  </ol>
  <p>My Python version is: 3.7.2, cython version: 0.29.19.
  The code is compiled with <code>gcc-linaro-aarch64</code> toolchain and run on a Linux based OS.</p>