This needs a proper solution in a follow-up. The issue is that the
Standard defines conversions between in_out_result classes with
different template types as just return {in, out};. Because the
expression uses list initialization, it will fail to compile if the
conversion happens to be narrowing -- which is probably unintended.
Surprisingly, this error wasn't caught by the CI.