anchor.diff:          | null -> None
           | x -> Some(x :?> 'a)
   
  +    /// Generic collection processing function
  +    let collectionProcessor<'a> action (reader : ReaderFunc) xml =
  +        match xml with
  +        | GroupElem(_, elems) ->
  +            elems
  +            |> List.choose (parseListElement<'a> reader)
  +            |> List.iter action
  +        | _ -> ()
  +
       /// Reader function for immutable F# lists
       let listReader<'a> (reader : ReaderFunc) xml =
           match xml with
  
positive.code:         | _ -> ()
          list
  
      let queueReader<'a> (reader : ReaderFunc) xml =
          let queue = Queue<'a>()
          match xml with
          | GroupElem(_, elems) ->
              elems
              |> List.choose (parseListElement<'a> reader)
              |> List.iter queue.Enqueue
          | _ -> ()
          queue
  
      let stackReader<'a> (reader : ReaderFunc) xml =
          let stack = Stack<'a>()
          match xml with
          | GroupElem(_, elems) ->
              elems
              |> List.choose (parseListElement<'a> reader)
              |> List.iter stack.Push
          | _ -> ()
          stack
  
      /// Reader function for arrays
      let arrayReader<'a> (reader : ReaderFunc) xml =
          match xml with
          | GroupElem(_, elems) ->
              elems
              |> List.choose (parseListElement<'a> reader)
              |> Array.ofList
          | _ -> [| |]
  
      /// Specialized reader function for string arrays
      let stringArrayReader xml =
  
negative.code:         | _ -> ()
          list
  
      /// Reader function for arrays
      let arrayReader<'a> (reader : ReaderFunc) xml =
          match xml with
          | GroupElem(_, elems) ->
              elems
              |> List.choose (parseListElement<'a> reader)
              |> Array.ofList
          | _ -> [| |]
  
      /// Reader function for untyped collections
      let collectionReader (ctor : Reflection.EmptyConstructor) xml =
          let list = ctor.Invoke() :?> IList
          match xml with
  