std::common_type instead experimental::first.