My first sentence in the last message was incorrect - which is obvious from clangs output in the example I gave. T does contain references when its an l-value as you stated. The call to apply is not deduced, which is the problem.