Defining overloads in namespace std is undefined behavior, so I'm wondering why we're adding overloads of std::get for boost::array. Since we aren't specializing std::tuple_size or std::tuple_element, these overloads would never be used anyway, even if they were legal.