¿Qué hace (plantilla) rebindir <> hacer?

Intentando aprender más sobre cómo se implementa la biblioteca estándar, estoy inspeccionando todos los contenedores en Visual Studio. Aquí veo una estructura curiosa:

En alguna clase base de unstd::list<> Se encuentra el siguiente typedef

typedef typename _Alloc::template rebind<_Ty>::other _Alty;

Donde "_Alloc" se corresponde con el argumento de la plantilla del asignador (y _Ty el tipo contenido). Tengo problemas para encontrar una buena explicación de esta "palabra clave". Lo mejor que he encontrado hasta ahora es que es parte de la interfaz del asignador. Aunque inclusocppreference No es muy bueno para explicar esto.

Que hacetemplate rebind<> ¿hacer? ¿Y por qué es necesario en ese lugar?

Respuestas a la pregunta(4)

Su respuesta a la pregunta