explicitly observed with the debugger that the call path is sane; the code looks innocuous, but it is quite magic how the compiler picks precisely the right ctors and inserts conversions apropriately