title: Why does Frame.ofRecords garbles its results when fed a sequence generated by a parallel calculation?
body: <p>I am running some code that calculates a sequence of records and calls <code>Frame.ofRecords</code> with that sequence as its argument. The records are calculated using <code>PSeq.map</code> from the library <code>FSharp.Collections.ParallelSeq</code>.</p>
  
  <p>If I convert the sequence into a list then the output is OK. Here is the code and the output:</p>
  
  <pre><code>let summaryReport path (writeOpenPolicy: WriteOpenPolicy) (outputs: Output seq) =
      let foo (output: Output) =
          let temp =
              { Name          = output.Name
                Strategy      = string output.Strategy
                SharpeRatio   = (fst output.PandLStats).SharpeRatio
                CalmarRatio   = (fst output.PandLStats).CalmarRatio }
          printfn "************************************* %A" temp
          temp
      outputs
      |&gt; Seq.map foo
      |&gt; List.ofSeq // this is the line that makes a difference
      |&gt; Frame.ofRecords
      |&gt; frameToCsv path writeOpenPolicy ["Name"] "Summary_Statistics"
  
  
  Name    Name        Strategy    SharpeRatio CalmarRatio
  0   Singleton_AAPL  MyStrategy  0.317372564 0.103940018
  1   Singleton_MSFT  MyStrategy  0.372516931 0.130150478
  2   Singleton_IBM   MyStrategy              Infinity
  </code></pre>
  
  <p>The <code>printfn</code> command let me verify by inspection that in each case the variable <code>temp</code> was calculated correctly.
  The last code line is just a wrapper around <code>FrameExtensions.SaveCsv</code>.</p>
  
  <p>If I remove the <code>|&gt; List.ofSeq</code> line then what comes out is garbled:</p>
  
  <pre><code>Name    Name        Strategy    SharpeRatio CalmarRatio
  0   Singleton_IBM   MyStrategy  0.317372564 0.130150478
  1   Singleton_MSFT  MyStrategy              0.103940018
  2   Singleton_AAPL  MyStrategy  0.372516931 Infinity
  </code></pre>
  
  <p>Notice that the empty (corresponding to <code>NaN</code>) and <code>Infinity</code> items are now in different lines and other things are also mixed up.</p>
  
  <p>Why is this happening?</p>