Currently, Boost.Utility is something of a mixed bag and consequently, a dependency knot. Nearly everything in Boost depends on Utility via (say) boost/assert.hpp, while at the same time Utility itself depends on much of Boost via Iterator (and others). Something Must Be Done. At minimum, assert.hpp, current_function.hpp, ref.hpp, checked_delete.hpp and addressof.hpp need to be moved out. I suspect that call_traits.hpp, compressed_pair.hpp, enable_if.hpp also don't belong. assert.hpp and current_function.hpp should probably go into their own library, Boost.Assert. ref.hpp might go to Boost.Bind. checked_delete.hpp might perhaps go to SmartPtr. No idea where addressof.hpp needs to go. These are just suggestions. I'm open to any resolution, as long as the dependency (and, to a lesser extent, maintenance) problem is resolved to everyone's satisfaction.