title: build array or collection of records from string array and regex
body: <p>I've a regular expression that can extract values from each of the following item in strings array.</p>
  
  <p>Regex string format ->  <strong>/guid/type/name;version</strong></p>
  
  <pre><code>/(([a-f0-9]+\-)+[a-f0-9]+)\/(.*?)\/(.*?);version=(\d*)/
  </code></pre>
  
  <p>JSON response array of entities</p>
  
  <pre><code>[
  {
      "data": "/publication/a40a5e5c-98b3-45ae-d6a3-924b31d8712a/article/test;version=1521246543034"
  }, 
  {
      "data": "/publication/a40a5e5c-98b3-45ae-d6a3-924b31d8712a/book/test2;version=1520623346891"
  }, 
  {
      "data": "/publication/a40a5e5c-98b3-45ae-d6a3-924b31d8712a/catalog/test3;version=1520623346833"
  }
  ]
  </code></pre>
  
  <p><strong>Code</strong></p>
  
  <pre><code>type Entity {
      guid: string
      ``type``: string
      name: string
      version: string
  }
  
  type List = {
      Href: string
  }
  
  let matchEntity (m: Match) =
       {guid = m.Groups.[1].Value; ``type``= m.Groups.[3].Value; name = m.Groups.[4].Value; version = m.Groups.[5].Value}
  
  
  let iterate (list : List[]) : string =
      let regex = new Regex("(([a-f0-9]+\-)+[a-f0-9]+)\/(.*?)\/(.*?);version=(\d*)")
      list |&gt; Array.iter (fun data -&gt; data.Href |&gt; (regex.Match &gt;&gt; matchEntity))
  </code></pre>
  
  <p><strong>Problem:</strong></p>
  
  <blockquote>
    <p><code>matchEntity</code> is complaining type mismatch expecting match -> unit but given a match -> Entity</p>
  </blockquote>