функционировать себя

отаю над домашней работой, и проблема в том, что мы получаем 2 списка int одного размера, а затем складываем числа вместе. Пример следующим образом.

    vecadd [1;2;3] [4;5;6];; would return [5;7;9]

Я новичок в этом, и мне нужно, чтобы мой код был довольно простым, чтобы я мог учиться на нем. У меня есть это до сих пор. (Не работает)

    let rec vecadd L K =
         if L <> [] then vecadd ((L.Head+K.Head)::L) K else [];;

По сути, я хочу просто заменить первый список (L) на добавленные номера. Также я попытался закодировать это по-другому, используя совпадения.

    let rec vecadd L K =
       match L with
         |[]->[]
         |h::[]-> L
         |h::t -> vecadd ((h+K.Head)::[]) K

Ни один из них не работает, и я был бы признателен за любую помощь, которую я могу получить.

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

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