Avaliando variável dentro do loop R

Estou tentando gerar iterativamente algumas funções usando um loop for:

# Create a list to hold the functions
funcs <- list()
funcs[]

# loop through to define functions
for(i in 1:21){

    # Make function name
    funcName <- paste( 'func', i, sep = '' )

    # make function
    func = function(x){x * i}

    funcs[[funcName]] = func

    }

No entanto, não está funcionando como eu esperava, pois o valor i não está sendo avaliado dentro de cada função. Eu quero tentar definir a função para igual a x * 1; x * 2; etc, mas o que acabo com é uma função que é x * i; onde eu tenho 21 anos.

Eu tentei usar a função eval () e isso apenas resultou em x * eval (i) sendo armazenado.

questionAnswers(2)

yourAnswerToTheQuestion