Convert a canister's principal to actor

Is there a more efficient (and concise) way to convert a canister’s principal to actor than actor(Principal.toText(canisterId))?

Unless you can import it or receive it as an argument of the appropriate actor type, no, not that I can think of.

actor(canisterId) should work for canisterId: Principal.

Conceptually, there is no reason to first convert it to text.

Consider the above as a feature request.

True, but the historical reason for this is that this construct was, I believe, used internally to bind a canister imported by textual id to its translated Motoko type, IIRC, and then exposed as a documented language feature.