title: Reversing Order of Linked List data type in f#
body: <p>I have to reverse the order of a linked list that uses the following  data type: </p>
  
  <pre><code>type IntList =
    | Nil
    | Cons of int * IntList 
  </code></pre>
  
  <p>I have tried using a separate "append" method but I would like to know of a way to use a single function instead</p>
  
  <pre><code>let rec append num lst =
    match lst with
    | Nil -&gt; Con (num,Nil)
    | Cons (hd,tl) -&gt; L (hd ,append num tl)
  
  let rec reverse lst = 
    match lst with 
    | Nil -&gt; Nil
    | Cons (hd,tl) -&gt; append hd (reverse tl)
  </code></pre>