interfaces) too soon, it would be inlined based on the augmentation in place at compile time of the library, instead of at the compile time of the "final consuming app".
So adding this self-referencing loop here prevents that inlining until the last moment.
It makes the type lazy.