anchor.diff:          if Array.isEmpty array then
               invalidOp "Cannot retrieve the last element of an empty array."
           else array.[array.Length - 1]
  +
  +    /// Determines if an array contains a specified value.
  +    [<CompiledName("Contains")>]
  +    let contains value (array : 'T[]) : bool =
  +        // Preconditions
  +        checkNonNull "array" array
  +
  +        System.Array.FindIndex (
  +            array,
  +            System.Predicate ((=) value)) <> -1
   
       /// Applies a function to each element of the collection, threading an accumulator argument through the computation.
       /// The integer index passed to the function indicates the array index of the element being transformed.
  
positive.code:     [<CompiledName("Take")>]
      let take count (list : 'T list) =
          // Preconditions
          if count < 0 then
              invalidArg "count" "The number of items to take from the list is negative."
          checkNonNull "list" list
          if count > List.length list then
              invalidArg "count" "The number of items to take from the list is greater than the length of the list."
  
          // OPTIMIZATION : If count = 0 return immediately.
  
negative.code:     let inline readonly (arr : 'T[]) =
          System.Array.AsReadOnly arr
  
      /// Builds an array that contains the elements of the set in order.
      [<CompiledName("OfSet")>]
      let inline ofSet (set : Set<'T>) : 'T[] =
          Set.toArray set
  
      /// Builds a set that contains the same elements as the given array.
      [<CompiledName("ToSet")>]
      let inline toSet (array : 'T[]) : Set<'T> =
          Set.ofArray array
  