anchor.diff:  
   /// <summary>
   /// Applies the given function pairwise to the two arrays.
  -/// Returns the array comprised of the results <c>x</c> for each element where the function
  -/// returns <c>Some(x)</c>.
  -/// </summary>
  +/// Returns the array comprised of the results <c>x</c> for each element where the function returns <c>Some(x)</c>.
  +/// </summary>
  +/// <param name="chooser"></param>
  +/// <param name="array1"></param>
  +/// <param name="array2"></param>
  +/// <returns></returns>
   [<CompiledName("Choose2")>]
   let choose2 (chooser : 'T1 -> 'T2 -> 'U option) array1 array2 : 'U[] =
       // Preconditions
  
positive.code:         // Return the final state value.
          state
  
  /// Applies a function to each character in the string and the character which
  /// proceeds it, threading an accumulator argument through the computation.
  [<CompiledName("FoldBackPairwise")>]
  let foldBackPairwise (folder : 'T -> 'T -> 'State -> 'State) (array : 'T[]) (state : 'State) : 'State =
      // Preconditions
  
negative.code:         // Return the final state value.
          state
  
  /// <summary>
  /// Returns a list containing the elements generated by the given computation.
  /// The given initial state argument is passed to the element generator, which is applied repeatedly until a <c>None</c> value
  /// is returned. Each call to the element generator returns a new residual state.
  /// </summary>
  /// <param name="generator"></param>
  /// <param name="state"></param>
  /// <returns></returns>
  [<CompiledName("Unfold")>]
  let unfold (generator : 'State -> ('T * 'State) option) (state : 'State) : 'T[] =
      // Preconditions
  