anchor.diff:                      if found then roots 
                       else 
                           // Find the ones that 'x' encompasses and collapse them
  -                        let yes, others = roots |> List.partition (fun (r, _) -> contains r x)
  -                        (x, yes |> List.collect (fun (r, ch) -> r :: ch)) :: others
  +                        let yes, others = roots |> Array.partition (fun (r, _) -> contains r x)
  +                        (x, yes |> Array.collect (fun (r, ch) -> r :: ch)) :: others
               
  -                ([], vs) ||> List.fold addToRoot
  -
  -            let rec makeSEHTree cenv env (pc2pos: int[]) (lab2pc : Dictionary<ILCodeLabel, int>) (exs : ILExceptionSpec list) = 
  +                ([], vs) ||> Array.fold addToRoot
  +
  +            let rec makeSEHTree cenv env (pc2pos: int[]) (lab2pc : Dictionary<ILCodeLabel, int>) (exs : ILExceptionSpec[]) = 
   
                   let clause_inside_lrange cl lr =
                     List.forall (fun lr1 -> labelRangeInsideLabelRange lab2pc lr1 lr) (lranges_of_clause cl) 
  
positive.code:                 //|> Array.map SharedRow
  
  
          let mkILGenericClass (nsp, nm, access, genparams, extends, impl, methods, fields, nestedTypes, props, events, attrs, init) : ILTypeDef =
            { Kind=ILTypeDefKind.Class;
              Namespace=nsp;
              Name=nm;
              GenericParams= genparams;
              Access = access;
              Implements = impl
              Attributes = TypeAttributes.Class
              Layout=ILTypeDefLayout.Auto;
              Encoding=ILDefaultPInvokeEncoding.Ansi;
              InitSemantics=init;
              Extends = Some extends;
              Methods= methods; 
              Fields= fields;
              NestedTypes=nestedTypes;
              CustomAttrs=attrs;
              MethodImpls=emptyILMethodImpls;
              Properties=props;
              Events=events;
              Token=0
              //SecurityDecls=emptyILSecurityDecls; 
              //HasSecurity=false;
          } 
          let mkILSimpleClass (ilg: ILGlobals) (nsp, nm, access, methods, fields, nestedTypes, props, events, attrs, init) =
            mkILGenericClass (nsp, nm,access, [| |], ilg.typ_Object, [| |], methods, fields, nestedTypes, props, events, attrs, init)
          let mkILTypeDefForGlobalFunctions ilg (methods,fields) = mkILSimpleClass ilg (UNone, typeNameForGlobalFunctions, ILTypeDefAccess.Public, methods, fields, emptyILTypeDefs, emptyILProperties, emptyILEvents, emptyILCustomAttrs, ILTypeInit.BeforeField)
  
          let destTypeDefsWithGlobalFunctionsFirst ilg (tdefs: ILTypeDefs) = 
            let l = tdefs.Entries
  
negative.code: 
                   let ret,ilParams = seekReadParams (retty,argtys) paramIdx endParamIdx
  
                   { Token=idx // This value is not a strict metadata token but it's good enough (if needed we could get the real one pretty easily)
                     Name=nm
                     Attributes = enum<System.Reflection.MethodAttributes>(flags)
                     //SecurityDecls=seekReadSecurityDecls (TaggedIndex(hds_MethodDef,idx))
                     //IsEntryPoint= (fst entryPointToken = ILTableNames.Method && snd entryPointToken = idx)
  