Why not just use `decltype(auto)`? Also these functions not SFINAE instead of being a hard compile error when they are not well formed. is that intended? http://reviews.llvm.org/D7862 EMAIL PREFERENCES http://reviews.llvm.org/settings/panel/emailpreferences/