¿Por qué no se declara una función como asíncrona de los tipos de tipos.CoroutineType?

Cita deaquí:

types.CoroutineType

El tipo de objetos de rutina, creados por funciones def asíncronas.

Cita deaquí:

Las funciones definidas con la sintaxis async def son siempre funciones de rutina, incluso si no contienen palabras clave en espera o asincrónicas.

Sesión de consola de Python:

Python 3.5.1 (v3.5.1:37a07cee5969, Dec  6 2015, 01:38:48) [MSC v.1900 32
bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import types
>>> def f(): pass
...
>>> async def g(): pass
...
>>> isinstance(f, types.FunctionType)
True
>>> isinstance(g, types.FunctionType)
True
>>> isinstance(g, types.CoroutineType)
False
>>>

Por qué noisinstance(g, types.CoroutineType) evaluar aTrue?

Respuestas a la pregunta(2)

Su respuesta a la pregunta