Improve separation of generic non-generic parts and dependencies.