title: Filter and convert `list option` to `list`?
body: <p>I have the following code which will return a <code>seq</code> of <code>DownloadLink</code> for these Urls that can be parsed. </p>
  
  <pre><code>type DownloadLink = { Url: string; Period: DateTime }   
  
  nodes |&gt; Seq.map (fun n -&gt;
      let url = n.Attributes.["href"].Value
      match url with
      | Helper.ParseRegex "[a-zA-Z](?&lt;period&gt;\d{4})\.txt" [period] -&gt;
          { Url = url; Period = period }
      | _ -&gt;
          printfn "Cannot parse %s" url // Error
          )
  </code></pre>
  
  <p>However, I got the following error at the <code>printfn</code>. What's right way to implement it? Should I make it a <code>list option</code> first and then filter out these <code>None</code> items?</p>
  
  <pre>
  Error   1   Type mismatch. Expecting a
      string -> DownloadLink    
  but given a
      string -> unit    
  The type 'DownloadLink' does not match the type 'unit'  
  </pre>