anchor.diff:          let index = Internals.FindSliceIndex.arrayImpl slice source
           if index = -1 then None else Some index
       #endif
  +
  +    /// <summary>
  +    /// Creates two arrays by applying the mapper function to each element in the array
  +    /// and classifying the transformed values depending on whether they were wrapped with Choice1Of2 or Choice2Of2.
  +    /// </summary>
  +    /// <returns>
  +    /// A tuple with both resulting arrays.
  +    /// </returns>    
  +    let partitionMap (mapper: 'T -> Choice<'T1,'T2>) (source: array<'T>) =
  +        let (x, y) = ResizeArray (), ResizeArray ()
  +        Array.iter (mapper >> function Choice1Of2 e -> x.Add e | Choice2Of2 e -> y.Add e) source
  +        x.ToArray (), y.ToArray ()
   
   
   /// Additional operations on String
  
positive.code:         try
              Ok (f x)
          with e -> Error e
  
  
  /// Additional operations on Choice
  
negative.code:         with _ -> None
  
  
  /// Additional operations on Result<'T,'Error>
  [<RequireQualifiedAccess>]
  module Result =
      let result x = Ok x
  