interface I { in void a(); out void b(); out void c(); behaviour { bool t = false; on a: { if (t) { b; } else { c; } t = !t; } } } component If { provides I i; behaviour { bool t = false; on i.a(): { if (t) { i.b(); } else { i.c(); } t = !t; } } }