struct { struct A() { struct AA(){}; struct AB() { struct ABA() { }; }; }; struct B() { struct BA() { a = A::AB::ABA(); }; struct BB() { struct BBA() { }; struct BBB(p:z) { a = BA(); }; }; }; struct C(delete){}; a = Fn<>()->A::AB>::ABA{return B>::BB::BB>::BBB(admit()).a.a;}; }main;