I'm considering this workaround to determine whether a class is running in unmanaged or managed context when calling System.requestVersion().
The documentation of UserInfo.isCurrentUserLicensed defines the method as follows:
Returns true if the context user has a license to the managed package denoted by the namespace. Otherwise, returns false.
In this case, what does 'License' refer to if I have a site-based package? There are no licenses to assign to users, they'll typically all have access. So if a user of the package has this installed, can the method always be expected to return true for this org?