In the context of this question: Can two managed packages utilize common core libraries and other questions concerning managed packages and extensions...
For any two apps that share a lot of code, chances are that — ideally — they are not two apps and so we could and would want to merge them, code-wise.
But then again, the complexity of features has it that as an ISV you may wish to apply different licenses to given feature sets, if only owed to Fancy Feature F developed for a special use-case that did cost a lot of effort to build and is more of an extended feature rather than something you wish to necessarily burden your base-users with, license-wise.
So, the question would be: Can you bind different functionalities of a given managed package to different license types? Does the licensing model for LMA / LMO even support that?
In layman's terms: So, we'd now have App X, which otherwise would have been App A and App B. In order to use the features of what previously was App A, a user could be assigned a dedicated license for A and to use those of App B, a user could be assigned a license for B. To use both, they'd need two (different) licenses for each user wanting to use them. Or perhaps one that combines the two.
I can see how this isn't trivial and so I imagine the platform doesn't cater for it. Would you think it even makes sense to cast that into an idea?
Reading this answer, I find that for any transaction the number of namespaces involved must not exceed 10. So, this indicates that an incremental / bundled license model for a single managed package would indeed be desirable ...and from the perspective of an ISV in general, too.