что делает (шаблон) rebind <> делать?

пытаясь узнать больше о том, как на самом деле реализована стандартная библиотека, я проверяю все контейнеры в Visual Studio. Здесь я вижу некоторую любопытную структуру:

В каком-то базовом классеstd::list<>&nbsp;Найдена следующая typedef

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

Где «_Alloc» соответствует аргументу шаблона распределителя (и _Ty содержащемуся типу). У меня проблемы с поиском хорошего объяснения этого "ключевого слова". Лучшее, что я нашел на данный момент, это то, что он является частью интерфейса распределителя. Хотя дажеcppreference&nbsp;не очень хорошо, чтобы объяснить это.

Что делает этоtemplate rebind<>&nbsp;делать? И почему это необходимо в этом месте?