title: Splitting a list F Sharp
body: <p>I'm trying to write a method that splits a list into two.  The function should return a tuple of the two lists and the arguments that the function takes are the # of items on the first list, and then the list.  Here's what I mean</p>
  
  <p>list [1,2,3,4]</p>
  
  <p>split(1,list)-> ([1],[2,3,4])
  split (3,list) -> ([1,2,3],[4])</p>
  
  <p>Here's what I have so far:</p>
  
  <pre><code>let rec mysplit = function
    |(n,[])-&gt;([],[])
    |(1,x::xs)-&gt;(x::[],xs)
    |(n,x::xs)-&gt;  mysplit(n-1,xs)
  </code></pre>
  
  <p>I'm not exactly sure how to "catch" the tuple back from the recursive call.  Not sure where to have an extra let statement in there to temporarily save the list I'm building up. New to the language so a couple of different approaches would be good to learn.</p>