How can I implement this code in ocaml?
<pre><code>let rec list_add l i =
    match l with
      [] -&gt; [i]
    | h::t -&gt; h::(list_add t i)
</code></pre>

<p>list add for adding each pair of integers from two lists </p>

<p><em>(Type)</em> <code>list add : int list -&gt; int list -&gt; int list</code></p>

<p><em>(Description)</em> <code>list add [a; b; c; ...] [x; y; z; ...]</code> returns <code>[a + x; b + y; c + z; ...]</code>. If one list is longer than the other, the remaining list of elements is appended to the result.</p>

<p><em>(Example)</em> <code>list add [1; 2] [3; 4; 5]</code> returns <code>[4; 6; 5]</code>.</p>