anchor.diff:          //     else fnItem
           [fnItem |> mkPublicItem]
   
  -    // is the member return type the same as the entity
  -    let isFluentMemberType (ent: Fable.Entity) = function
  -        | Fable.DeclaredType(entRef, _) -> entRef.FullName = ent.FullName
  -        | _ -> false
  -
  -    // does the member body return "this"
  -    let isFluentMemberBody (body: Fable.Expr) =
  -        let rec loop = function
  -            | Fable.IdentExpr id when id.IsThisArgument -> true
  -            | Fable.Sequential exprs -> loop (List.last exprs)
  -            | Fable.Let(_, value, body) -> loop body
  -            | Fable.LetRec(bindings, body) -> loop body
  -            | Fable.IfThenElse(cond, thenExpr, elseExpr, _) ->
  -                loop thenExpr || loop elseExpr
  -            | Fable.DecisionTree(expr, targets) ->
  -                List.map snd targets |> List.exists loop
  -            | _ -> false
  -        loop body
  +    // // is the member return type the same as the entity
  +    // let isFluentMemberType (ent: Fable.Entity) = function
  +    //     | Fable.DeclaredType(entRef, _) -> entRef.FullName = ent.FullName
  +    //     | _ -> false
  +
  +    // // does the member body return "this"
  +    // let isFluentMemberBody (body: Fable.Expr) =
  +    //     let rec loop = function
  +    //         | Fable.IdentExpr id when id.IsThisArgument -> true
  +    //         | Fable.Sequential exprs -> loop (List.last exprs)
  +    //         | Fable.Let(_, value, body) -> loop body
  +    //         | Fable.LetRec(bindings, body) -> loop body
  +    //         | Fable.IfThenElse(cond, thenExpr, elseExpr, _) ->
  +    //             loop thenExpr || loop elseExpr
  +    //         | Fable.DecisionTree(expr, targets) ->
  +    //             List.map snd targets |> List.exists loop
  +    //         | _ -> false
  +    //     loop body
   
       let transformAssocMemberFunction (com: IRustCompiler) ctx (info: Fable.MemberFunctionOrValue) (membName: string) (args: Fable.Ident list) (body: Fable.Expr) =
           let name = splitLast membName
  
positive.code:         let isRecursive, isTailRec = isTailRecursive name body
          let argTypes = args |> List.map (fun arg -> arg.Type)
          let genParams = getGenericParams ctx (argTypes @ [body.Type])
          let isFluent = isFluentMemberBody body
          let fnDecl = transformFunctionDecl com ctx isFluent args body.Type
          let ctx = getFunctionCtx com ctx name args body isTailRec
          let fnBody = transformFunctionBody com ctx args body
          fnDecl, fnBody, genParams
  
negative.code:     let transformLambda com ctx (name: string option) (args: Fable.Ident list) (body: Fable.Expr) =
          let isRecursive, isTailRec = isTailRecursive name body
          let fixedArgs = if isRecursive && not isTailRec then (makeIdent name.Value) :: args else args
          let fnDecl = transformFunctionDecl com ctx fixedArgs Fable.Unit
          let ctx = getFunctionCtx com ctx name args body isTailRec
          // remove captured names from scoped symbols, as they will be cloned
          let closedOverCloneableNames = getCapturedNames com ctx name args body
  