This is basically the reincarnation of #160, which became less ambitious for the sake of 1.4.0 when it was realised that doing this properly requires quite a bit of thought and testing.
Basically, we should strive to always use as few instances of TreeLikelihood, SiteModel and SubstitutionModel as possible by sharing what we can. This interacts in non-trivial ways with at least the following (and possibly more):
This is basically the reincarnation of #160, which became less ambitious for the sake of 1.4.0 when it was realised that doing this properly requires quite a bit of thought and testing.
Basically, we should strive to always use as few instances of
TreeLikelihood
,SiteModel
andSubstitutionModel
as possible by sharing what we can. This interacts in non-trivial ways with at least the following (and possibly more):