Boost really should have been modular from the start. The way the docs are laid out almost implies they are modular, but then you have to pull in this massive codebase when all you want is smart pointers. I'm a big fan of Boost, and I'm glad to see them do this.