anchor.diff:                notFirst := true
         } 
   
  +    /// The catOptions function takes a list of Options and returns a seq of all the Some values.
  +    let catOptions (xs:seq<Option<'a>>) =
  +        seq {
  +            for x in xs do
  +                if x.IsSome then yield x.Value
  +        }
  +
   [<CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)>]
   /// Extensions for F#'s Array module.
   module Array = 
  
positive.code: 
      let findOrDefault key defaultValue (map : Map<'T,'b>) =
          defaultArg (map.TryFind key) defaultValue
  
  #if FX_PORTABLE
  #else
  
negative.code:                         if Array.exists Option.isNone window
                          then None
                          else Some(Array.averageBy Option.get window))
                    
      /// The catOptions function takes a list of Options and returns an array of all the Some values.
      let catOptions (xs:Option<'a>[]) =
          [|
              for x in xs do
                  if x.IsSome then yield x.Value
          |]
  
  /// Extensions for F#'s List module.
  module List =
  