title: LINQ equivalent of F# List.partition
body: <p>Using LINQ, how do you partition an <code>IEnumerable</code> in a way equivalent to F#'s <a href="https://msdn.microsoft.com/en-us/visualfsharpdocs/conceptual/list.partition%5B&#39;t%5D-function-%5Bfsharp%5D" rel="nofollow noreferrer">List.parition</a> function? The result should be the source sequence partitioned into two sequences based the predicate, with the predicate evaluated once per source item.</p>