I can reproduce with VC8, I see: c:\data\boost\develop\boost\boost\fusion\iterator\next.hpp(50) : error C2039: 'tag_of' : is not a member of 'boost::fusion::detail' c:\data\boost\develop\boost\boost\fusion\iterator\next.hpp(52) : see reference to class template instantiation 'boost::fusion::result_of::next<Iterator>' being compiled c:\data\boost\develop\boost\boost\fusion\iterator\next.hpp(50) : error C2146: syntax error : missing ',' before identifier 'tag_of' c:\data\boost\develop\boost\boost\fusion\iterator\next.hpp(50) : error C2065: 'tag_of' : undeclared identifier c:\data\boost\develop\boost\boost\fusion\iterator\next.hpp(50) : error C2977: 'boost::fusion::extension::next_impl' : too many template arguments c:\data\boost\develop\boost\boost\fusion\iterator\next.hpp(24) : see declaration of 'boost::fusion::extension::next_impl' and so on. The boost-root/boost/tr1/tr1 directory should be the *first* include, and boost-root/ the second. As before, including <utility> before the fusion header fixes the errors. John.