C++using GameCMPs = MP::TypeList<RenderComponent, PhysicsComponent>;
using GameTAGs = MP::TypeList<TagPlayer, TagEnemy>;
using EM       = EntityManager<GameCMPs, GameTAGs>;

Entity& e = em.newEntity();
em.addComponent<RenderComponent>(e);
em.addTag<TagPlayer>(e);

em.forEach<MP::TypeList<RenderComponent>, MP::TypeList<TagPlayer>>(
    [&](Entity& e, RenderComponent& r) { /* ... */ }
);