title: Ocaml List: Implement append and map functions
body: <p>I'm currently trying to extend a friend's OCaml program. It's a huge collection of functions needed for some data analysis.. Since I'm not really an OCaml crack I'm currently stuck on a (for me) strange List implementation:</p>
  
  <pre><code>type 'a cell = Nil
      | Cons of ('a * 'a llist)
  and 'a llist = (unit -&gt; 'a cell);;
  </code></pre>
  
  <p>I've figured out that this implements some sort of "lazy" list, but I have absolutely no idea how it really works. I need to implement an Append and a Map Function based on the above type. Has anybody got an idea how to do that?</p>
  
  <p>Any help would really be appreciated!</p>