I think the importance of splitting the core functionality into shared
objects is more general than that. There was some discussion a short time
ago about making a pared-down version for embedding, which would seem to
require some sort of functionality reduction. There is also the desire of
Beware of dependencies between shared objects. Let's assume 2 chunks of
core functionality are seperated off into say A.so and B.so. This will
work fine as long as there are no interdependencies between A.so and
B.so. Let's however assume A.so needs to call something in B.so. That
means