Список реверсивный в Окамле

Как отменить даже подсписки списка, если мы предполагаем, что мы считаем элементы от 0. Я хочу, чтобы решение было "вручную кодированные», Я'У меня большая проблема с этой задачей.

Например:

Function([[1;2;3] ; [2;3] ; [1;2;3] ; [5;6;7]])

возвращает:

([[3;2;1] ; [2;3] ; [3;2;1] ; [5;6;7]])

Я уже создал функцию, которая переворачивает один список:

let rev =
  let rec rev_append acc l =
    match l with
      [] -> acc
    | h::t -> rev_append (h::acc) t in
  fun l -> rev_append [] l;;

Но сейчас я застрял.

Ответы на вопрос(3)

Ваш ответ на вопрос