Explanation for the curious: the two statements internally
use different versions of role Actor:
The instanceof check uses Service.Actor, this check passes.
The cast is internally translated as a call to a dynamically bound
synthetic method which then attempts a cast to Shaving.Actor,
which wrongly fails (due to a missing "implements" link in the
generated byte code).
Of course, this difference concerning Service.Actor and
Shaving.Actor shouldn't surface here.