У меня есть две вещи, чтобы добавить:

Во-первых, вы можете расширить массив proxies отсутствующими в нем вызываемыми объектами, передав их имена в качестве аргументов статическому методу proxy.

Во-вторых, для любопытных людей, таких как я, которым интересно, как это вообще возможно для начала. Нет никакой начальной загрузки, инициализирующей прокси более высокого порядка, это не трейт и не в стеке наследования в любой точке. В конце концов я обнаружил, что этот процесс основан на магическом методе __get, обсуждаемом в ОП. То, как прокси-метод, так сказать, кэшируется, просто гениально, ожидая последующих вызовов, чтобы вызвать __call или __get, в зависимости от обстоятельств.