static constexpr auto get(Point2D && pt) noexcept { return get_detail(integral_constant<size_t, I>{}, move(pt)); }
void show_detail() { std::cout << get_detail() << std::endl; }
static constexpr int const& get(Point2D const& pt) noexcept { return get_detail(integral_constant<size_t, I>{}, pt); }