(2) doesn't work because the compiler isn't going to solve an equation to determine the template parameter of
backend
. I think it's more interesting how (1) is whitelisted.