anchor.diff:  type private DeclInfo(com, fileName) =
       let publicNames = ResizeArray<string>()
       // Check there're no conflicting entity or function names (see #166)
  -    let checkPublicNameConflicts name =
  -        if publicNames.Contains name then
  +    let publicNameConflicts name =
  +        let conflicts = publicNames.Contains name
  +        if conflicts then
               "Public types, modules or functions with same name at same level are not supported: " + name
               |> addError com fileName None
  -        publicNames.Add name
  +        else
  +            publicNames.Add name
  +        conflicts
       let isErasedEntity (ent: FSharpEntity) =
           let fail (ent: FSharpEntity) msg =
               addError com fileName (getEntityLocation ent |> makeRange |> Some) msg; false
  
positive.code:     | _ -> failwithf "Cannot compile expression in %O: %A"
                       (makeRange fsExpr.Range) fsExpr
  
  let private processMemberDecls (com: IFableCompiler) ctx (fableEnt: Fable.Entity) (childDecls: #seq<Fable.Declaration>) =
      if fableEnt.Kind = Fable.Module then Seq.toList childDecls else
  
      let isException = match fableEnt.Kind with Fable.Exception _ -> true | _ -> false
  
negative.code:                 | _ -> args
                  |> Seq.collect id |> countRefs body
              com.AddInlineExpr(meth.FullName, (upcast vars, body))
              ctx
      else addMethod range None meth args body
  
  let rec private transformEntityDecl (com: IFableCompiler) ctx (declInfo: DeclInfo)
  