interface I { in void e(); behaviour { on e: {} } } component functionNesting { provides I p; behaviour { bool fnTrue(bool param) { if(param) { bool b = fnTrue(!param); return b; } else return true; } void nestedfnnoarg() { bool b = fnTrue(false); } void nestedfnarg1(bool barg) { bool b = fnTrue(true); } void nestedfnarg2(bool barg) { bool b = false; b = fnTrue(barg); } on p.e(): {} } }