EricWF added a comment. Grr... OK so this is currently ABI breaking because it re-arranges the layout of `__compressed_pair<T1, T2>` when `T2` is empty but `T1` is not. I might be able to work around this with some metaprogramming. https://reviews.llvm.org/D27565