fully quality boost::enable_if since msvc namespaces dont work.