cómo llenar la lista / matriz existente

Soy nuevo en la razón / ocaml / programación funcional.

Se acerca deList.append y[] @ [] pero estas funciones crearán una nueva lista, pero ¿cómo llenar la lista / matriz existente?

¿Cuál es la mejor manera de llenar la lista?¿Cuál es la mejor manera de llenar una matriz? Significa si el tipo de coordenadas eslet coords: array point = [];¿O este es un flujo incorrecto (algoritmo) para tal caso?

Código de razón:

type point = {x: int, y: int};

let coords: list point = [];

let append raw =>
  Array.iter
    (
      fun data => {
        let p = {x: data.x, y: data.y};
        /* how to append p to coords */
        ()
      }
    )
    raw;

JS análogo:

const coords = [];
const append = raw => raw.forEach({x, y} => {
  coords.push({
    x: process(x),
    y: process(y)
  });
});

Respuestas a la pregunta(1)

Su respuesta a la pregunta