https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56785
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- IIRC with libc++ tuple<> is not an empty type, so has more overhead than ours in other edge cases. Maybe you should recommend users stay away from that too.