Fixes for Python 3: annotations, metaclass and keyword-only arguments.