Python 3.0 adds a possibility to define functions with keyword-only arguments.
Currently Beam does not handle them correctly. Ruoyu Liu pointed out one place in our codebase that we should fix: in Python in 3.0 inspect.getargspec() will fail on functions with keyword-only arguments, but a new method inspect.getfullargspec() supports them.
There may be implications for our (best-effort) type-hints machinery.
We should also add a Py3-only unit tests that covers DoFn's with keyword-only arguments once Beam Python 3 tests are in a good shape.