maybe it could be replaced by a BOOST_STATIC_ASSERT()