Let's put this stuff in namespace `thrust::detail::tuple_detail`