As shown in this test circular imports of EGL templates (circular1.egl imports circular2.egl which in turn imports circular1.egl again) cause unexpected behaviour at runtime. In particular, when circular1.egl is executed, it appears to lose access to the models the module is configured to run against.