Cómo sumr una lista numérica de elementos

Me pregunto acerca de una manera elegante que permite sumr (o calcular una media) los valores numéricos de una lista. p.ej

x <- list( a = matrix(c(1,2,3,4), nc=2), b = matrix(1, nc=2, nr=2)) 

y quieres obtener

 x[[1]]+x[[2]] 

o una media:

 (x[[1]]+x[[2]])/2 

Puede usar Reduce para aplicar sucesivamente una función binaria a los elementos en una lista.

 Reduce("+",x) [,1] [,2] [1,] 2 4 [2,] 3 5 Reduce("+",x)/length(x) [,1] [,2] [1,] 1.0 2.0 [2,] 1.5 2.5