Implementacion de arrays en erlang

Mi pregunta es, ¿cómo se implementan matrices en Erlang, en lugar de listas.

Con tipos inmutables haciendo cosas como,

move ([X | Xs], Ys) ->
    [X | Ys].

Ls = move([1,2,3], [2,3,4])

ocuparía mem constante en el montón, ya que esto es todo el trabajo de referencia.

Pero por lo mismo en matrices.

move (A1, A2) ->
    array:set(0, array:get(0,A1),A2).

A1 = array:from_list([1,2,3]).
A2 = array:from_list([0,2,3,4]).
A3 = move(A1,A2).

Serámove aquí, utilice un tamaño proporcional a A2 o ¿podrá hacerlo en un espacio constante como con los arreglos?

Respuestas a la pregunta(2)

Su respuesta a la pregunta