anchor.diff:              let value, stmts'' = com.TransformAsExpr(ctx, expr)
               Expression.none(), Statement.assign([Expression.subscript(value, right)], arg) :: stmts @ stmts' @ stmts''
           | Fable.Get(expr, Fable.FieldGet(fieldName="sort"), _, _), _ ->
  -            callFunction range callee' [], stmts @ stmts'
  -
  -        | _, Some(TransformExpr com ctx (thisArg, stmts'')) -> callFunction range callee' (thisArg::args), stmts @ stmts' @ stmts''
  -        | _, None when callInfo.IsConstructor -> Expression.call(callee', args, ?loc=range), stmts @ stmts'
  -        | _, None -> callFunction range callee' args, stmts @ stmts'
  +            callFunction range callee' [] kw, stmts @ stmts'
  +
  +        | _, Some(TransformExpr com ctx (thisArg, stmts'')) -> callFunction range callee' (thisArg::args) kw, stmts @ stmts' @ stmts''
  +        | _, None when callInfo.IsConstructor -> Expression.call(callee', args, kw, ?loc=range), stmts @ stmts'
  +        | _, None -> callFunction range callee' args kw, stmts @ stmts'
   
       let transformCurriedApply com ctx range (TransformExpr com ctx (applied, stmts)) args =
  -        match transformCallArgs com ctx false args with
  -        | [], stmts' -> callFunction range applied [], stmts @ stmts'
  -        | args, stmts' -> (applied, args) ||> List.fold (fun e arg -> callFunction range e [arg]), stmts @ stmts'
  +        match transformCallArgs com ctx range (NoCallInfo args) with
  +        | [], kw, stmts' -> callFunction range applied [] kw, stmts @ stmts'
  +        | args, kw, stmts' -> (applied, args) ||> List.fold (fun e arg -> callFunction range e [arg] kw), stmts @ stmts'
   
       let transformCallAsStatements com ctx range t returnStrategy callee callInfo =
           let argsLen (i: Fable.CallInfo) =
  
positive.code:             classDecl.BaseCall
              |> extractBaseExprFromBaseCall com ctx classEnt.BaseType
              |> Option.orElseWith (fun () ->
                  if classEnt.IsValueType then Some(libValue com ctx "Types" "Record", ([], []))
                  else None)
              |> Option.map (fun (baseExpr, (baseArgs, stmts)) ->
                  let consBody =
                      stmts @ consBody
                      |> List.append [ callSuperAsStatement baseArgs ]
  
negative.code: 
          FunctionDef.Create(name, args, body = body)
  
      let callFunction r funcExpr (args: Expression list) (kw: Keyword list) =
          Expression.call(funcExpr, args, kw=kw, ?loc=r)
  
      let callFunctionWithThisContext com ctx r funcExpr (args: Expression list) =
          let args = thisExpr::args
  