interface I { in void e(); out void fix(); out void g(); behaviour { on e: {} } } interface II { in void e(); behaviour { on e: {} } } component combinedon { provides II p; requires I a; requires I b; behaviour { on p.e(): {} on a.fix(), b.fix(): {} on a.g(), b.g(): [true] illegal; } }