§4.1.(b) Prerequisite: Class binding

A callin binding requires the enclosing class to be a role class bound to a base class according to §2.1. An unliftable role (see §2.3.4.(a)) should not define callin bindings. In this case callin bindings can only safely be introduced in sub-roles which (by an appropriately refined playedBy clause) disambiguate the lifting translation.

For corner cases the above rule can be overridden by suppressing the corresponding error using the "hidden-lifting-problem" token (see §2.3.5). This will allow callin bindings to be defined even for unliftable roles expecting that lifting may still succeed by one of the patterns desribed in §2.3.4.(b).