subclase __module__ establecido en el módulo de metaclase al crear manualmente una nueva clase con type ()

En el siguiente ejemplo, la subclase recién creada termina siendo la metaclase__module__ en lugar del módulo de las clases principales. Solo he visto que esto sucede cuando usoABCMeta entonces podría ser algo específico para ese módulo, ¿alguien sabe lo que podría estar pasando?

In [1]: from abc import ABCMeta

In [2]: class test(metaclass=ABCMeta):
   ...:     pass
   ...: 

In [3]: newclass = type('newclass', (test,), {})

In [4]: newclass.__module__
Out[4]: 'abc'

El comportamiento que deseo ocurre cuando defino la subclase de la manera más estándar:

In [5]: class subtest(test):
   ...:     pass
   ...: 

In [6]: subtest.__module__
Out[6]: '__main__'

¿Alguien puede explicar por qué este es el caso y cómo podría hacerlo, usandotype, cree una nueva subclase con la correcta__module__ atributo heredado (p. ej.__module__=='__main__')?

Respuestas a la pregunta(1)

Su respuesta a la pregunta