anchor.diff:          // Preconditions are checked by the member.
           IntMap.OfMap source
   
  +    //
  +    let inline toArray (map : IntMap<'T>) =
  +        // Preconditions
  +        checkNonNull "map" map
  +
  +        map.ToArray ()
  +
  +    //
  +    let inline iter (action : int -> 'T -> unit) (map : IntMap<'T>) =
  +        // Preconditions
  +        checkNonNull "map" map
  +
  +        map.Iterate action
  +
   
       // TODO
  +    // choose
       // exists
       // filter
       // findKey
       // fold, foldBack
  -    // iter, iterBack
  +    // iterBack
       // map
       // partition
       // pick
  -    // toArray
       // toList
       // toMap
       // toSeq
       // tryFindKey
       // tryPick
  -
  +    // union
  
positive.code: //
  namespace ExtCore.Collections
  
  open LanguagePrimitives
  open OptimizedClosures
  open ExtCore
  
negative.code:         else
              IntMap (PatriciaMap.OfMap source)
  
      //
      member __.ToArray () : (int * 'T)[] =
          trie.ToArray ()
  
      //
      member internal __.ToKvpArray () : KeyValuePair<int, 'T>[] =
          let elements = ResizeArray (1024)
  
          trie.Iterate <| fun key value ->
              elements.Add (
                  KeyValuePair (key, value))
  
          elements.ToArray ()
  
      //
      member __.Iterate (action : int -> 'T -> unit) : unit =
          trie.Iterate action
  
  //
  and [<Sealed>]
      internal IntMapDebuggerProxy<'T> (map : IntMap<'T>) =
  
      [<DebuggerBrowsable(DebuggerBrowsableState.RootHidden)>]
      member __.Items
          with get () : KeyValuePair<int, 'T>[] =
              map.ToKvpArray ()
  
  
  //
  [<RequireQualifiedAccess; CompilationRepresentation(CompilationRepresentationFlags.ModuleSuffix)>]
  module IntMap =
  