anchor.diff:          let macroItem = mkMacroItem attrs macroName [expr]
           [macroItem]
   
  -    let transformModuleFunction (com: IRustCompiler) ctx (info: Fable.MemberFunctionOrValue) (decl: Fable.MemberDecl) =
  +    let transformModuleFunction (com: IRustCompiler) ctx (memb: Fable.MemberFunctionOrValue) (decl: Fable.MemberDecl) =
           let name = splitLast decl.Name
           let isByRefPreferred =
  -            info.Attributes
  +            memb.Attributes
               |> Seq.exists (fun a -> a.Entity.FullName = Atts.rustByRef)
           let fnDecl, fnBody, fnGenParams =
               let ctx = { ctx with Typegen = { ctx.Typegen with IsParamByRefPreferred = isByRefPreferred } }
  -            let parameters = info.CurriedParameterGroups |> List.concat
  -            transformFunc com ctx (Some info.FullName) decl.Args parameters decl.Body
  +            let parameters = memb.CurriedParameterGroups |> List.concat
  +            // let returnType = memb.ReturnParameter.Type
  +            transformFunc com ctx (Some memb.FullName) parameters decl.Args decl.Body
           let fnBodyBlock =
               if decl.Body.Type = Fable.Unit
               then mkSemiBlock fnBody
  
positive.code:         | _ ->
              transformLeaveContext com ctx None body
  
      let transformFunc com ctx (name: string option) (args: Fable.Ident list) (parameters: Fable.Parameter list) (body: Fable.Expr) =
          //if name |> Option.exists (fun n -> n.Contains("byrefAttrIntFn")) then System.Diagnostics.Debugger.Break()
          let isRecursive, isTailRec = isTailRecursive name body
          let argTypes = args |> List.map (fun arg -> arg.Type)
  
negative.code:         let header = DEFAULT_FN_HEADER
          let generics = makeGenerics com ctx fnGenParams
          let kind = mkFnKind header fnDecl generics (Some fnBodyBlock)
          let attrs = transformAttributes com ctx memb.Attributes
          let fnItem = mkFnItem attrs name kind
          // let fnItem =
          //     if memb.IsPublic
          //     then fnItem |> mkPublicItem
          //     else fnItem
          [fnItem |> mkPublicItem]
  
      let transformModuleMember (com: IRustCompiler) ctx (memb: Fable.MemberFunctionOrValue) (decl: Fable.MemberDecl) =
          // Module let bindings look like this:
          // pub fn value() -> T {
          //     static value: MutCell<Option<T>> = MutCell::new(None);
  