anchor.diff:      match ent with
       | WithAttribute "Global" _ ->
           Fabel.GlobalModule ent.FullName
  -        |> declInfo.extMods.Add
  +        |> declInfo.AddExternalModule
           declInfo
       | WithAttribute "Import" args ->
           match args with
           | [:? string as modName] ->
               Fabel.ImportModule(ent.FullName, modName)
  -            |> declInfo.extMods.Add
  +            |> declInfo.AddExternalModule
               declInfo
           | _ -> failwith "Import attributes must have a single string argument"
       | WithAttribute "Erase" _ | AbstractEntity _ ->
  
positive.code:             | FSharpImplementationFileDeclaration.MemberOrFunctionOrValue (meth, args, body) ->
                  transformMemberDecl com ctx declInfo meth args body
              | FSharpImplementationFileDeclaration.InitAction (Transform com ctx expr) ->
                  declInfo.decls.Add(Fabel.ActionDeclaration expr); declInfo
          ) (DeclInfo())
      declInfo.ClearChild ()
      List.ofSeq declInfo.decls, List.ofSeq declInfo.extMods
          
  let transformFiles (com: ICompiler) (fsProj: FSharpCheckProjectResults) =
      let emptyContext parent = {
  
negative.code: 
  type private DeclInfo() =
      let mutable child: Fabel.Entity option = None
      let decls = ResizeArray<Fabel.Declaration>()
      let childDecls = ResizeArray<Fabel.Declaration>()
      let extMods = ResizeArray<Fabel.ExternalEntity>()
      // The F# compiler considers class methods as children of the enclosing module, correct that
      member self.AddMethod (meth: FSharpMemberOrFunctionOrValue, methDecl: Fabel.Declaration) =
          let methParentFullName =
              sanitizeEntityName meth.EnclosingEntity.FullName
          match child with
          | Some x when x.FullName = methParentFullName ->
              childDecls.Add methDecl
          | _ ->
              self.ClearChild ()
              decls.Add methDecl
      member self.AddInitAction (actionDecl: Fabel.Declaration) =
          self.ClearChild ()
          decls.Add actionDecl
      member self.AddExternalModule extMod =
          extMods.Add extMod
      member self.ClearChild () =
          if child.IsSome then
              Fabel.EntityDeclaration (child.Value, List.ofSeq childDecls)
              |> decls.Add
          child <- None
          childDecls.Clear ()
      member self.AddChild (newChild, newChildDecls, childExtMods) =
          self.ClearChild ()
          child <- Some newChild
          childDecls.AddRange newChildDecls
          extMods.AddRange childExtMods
      member self.GetDeclarationsAndExternalModules () =
          self.ClearChild ()
          List.ofSeq decls, List.ofSeq extMods        
      
  let private transformMemberDecl
      (com: IFabelCompiler) ctx (declInfo: DeclInfo) (meth: FSharpMemberOrFunctionOrValue)
  