Como atribuir a partir de uma função que retorna mais de um valor?

Ainda tentando entrar na lógica R ... qual é a "melhor" maneira de descompactar (no LHS) os resultados de uma função retornando múltiplos valores?

Eu não posso fazer isso aparentemente:

R> functionReturningTwoValues <- function() { return(c(1, 2)) }
R> functionReturningTwoValues()
[1] 1 2
R> a, b <- functionReturningTwoValues()
Error: unexpected ',' in "a,"
R> c(a, b) <- functionReturningTwoValues()
Error in c(a, b) <- functionReturningTwoValues() : object 'a' not found

devo realmente fazer o seguinte?

R> r <- functionReturningTwoValues()
R> a <- r[1]; b <- r[2]

ou o programador R escreveria algo mais assim:

R> functionReturningTwoValues <- function() {return(list(first=1, second=2))}
R> r <- functionReturningTwoValues()
R> r$first
[1] 1
R> r$second
[1] 2

--- editado para responder às perguntas de Shane ---

Eu realmente não preciso dar nomes para as partes de valor do resultado. Estou aplicando uma função agregada ao primeiro componente e outra ao segundo componente (min&nbsp;emax. se fosse a mesma função para os dois componentes, eu não precisaria dividi-los).