Is it possible to get the first type of a parameter pack in a one-liner?
You could write:
using FirstEntityType = std::tuple_element_t<0, std::tuple<EntityTs...>>;
Or you could use Boost.Mp11:
using FirstEntityType = mp_front<EntityContext>;
You may use
std::tuple_element<0, std::tuple<EntityTs...>>::type