I guess as was to fast there in being optimistic ;) It seems there is another performance issue when i extend the number of types further to 75 (on the project we expect to grow to +/- 60 types). typedef boost::mpl::vector75< boost::shared_ptr<C1>, boost::shared_ptr<C2>, boost::shared_ptr<C3>, ... My machine simply runs out of memory (commit 3.0GB) while the compiler keeps consuming 100% for minutes... From what i can see now is that no combination (adding boost::blank or not, patching variant.hpp or not) seems to succeed to compile and link <1min and <1GB or ram. A test using boost::blank + the patched variant just finished on 4:00min. Steven, can you maybe invest with your tool where the load/instantiations are coming from? PS: I have downloaded your tool with svn, i intend to test/use it for myself as well. ;) Paul