anchor.diff:      let transformCall (com: IPythonCompiler) ctx range callee (callInfo: Fable.CallInfo) : Expression * Statement list =
           // printfn "transformCall: %A" (callee, callInfo)
           let callee', stmts = com.TransformAsExpr(ctx, callee)
  -        let args, stmts' = transformCallArgs com ctx callInfo.HasSpread callInfo.Args
  +        let args, kw, stmts' = transformCallArgs com ctx range (CallInfo callInfo)
  +
           match callee, callInfo.ThisArg with
           | Fable.Get(expr, Fable.FieldGet(fieldName="set"), _, _), _ ->
               // printfn "Type: %A" expr.Type
  
positive.code:         let macro = info.Macro
          let info = info.CallInfo
          let thisArg, stmts = info.ThisArg |> Option.map (fun e -> com.TransformAsExpr(ctx, e)) |> Option.toList |> Helpers.unzipArgs
          let exprs, stmts' = transformCallArgs com ctx info.HasSpread info.Args
  
          if macro.StartsWith("functools") then
              com.GetImportExpr(ctx, "functools") |> ignore
  
negative.code:         let tempVarReplacements = tempVars |> Map.map (fun _ v -> makeIdentExpr v)
          [
              // First declare temp variables
              for KeyValue(argId, tempVar) in tempVars do
                  yield! varDeclaration ctx (com.GetIdentifierAsExpr(ctx, tempVar)) false (com.GetIdentifierAsExpr(ctx, argId))
              // Then assign argument expressions to the original argument identifiers
              // See https://github.com/fable-compiler/Fable/issues/1368#issuecomment-434142713
  