A anotação de função no python 3 obtém o erro "nome não definido"

Estou tentando usar os recursos de anotação do tipo python3.

Aqui estão algumas funções de brinquedo sem anotação:

def fa(func, *args):
    return func(*args)
def fb(x:str):
    return x + " returned."
fa(fb, "Newton")

Estes funcionam ok. Mas uma vez eu adiciono alguma anotação parafa, dá errado:

def fa(func:function, *args):
    return func(*args)
def fb(x:str):
    return x + " returned."
fa(fb, "Newton")

Traceback (most recent call last):
  File "/usr/local/lib/python3.4/site-packages/IPython/core/interactiveshell.py", line 2883, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-17-193b74f82e47>", line 1, in <module>
    def fa(func:function, *args):
NameError: name 'function' is not defined

Por que isso está acontecendo e como posso solucionar isso?

questionAnswers(2)

yourAnswerToTheQuestion