I Think the ``#ifdef`` should only protect ``std::tuple`` version, there is no way boost knows about ``core::array``