Revert "Revert "Merge branch 'sfinae'""

This reverts commit 56a7c4040e4fc3d787d8df1d485f9a77d418e5a2.