struct myFramework { myFrameworkAccessor myFWApp; }
interface myFrameworkApp { void init(); } main(){ myFramework mf = new myFramework; mf.myFWApp.init(); // this bombs because myFWApp is NULL } struct myFrameworkAccessor { myFrameworkApp instance() { if(_instance==null)_instance=new myAppCode(); return _instance; } myFrameworkApp _instance; alias instance this; } class myAppCode : myFrameworkApp { void init() {...} }