{
  "isError" : false,
  "request" : {
    "expression" : "price * (1.0 + rate)",
    "file" : "task.ek9",
    "name" : "gross"
  },
  "response" : {
    "conflicts" : [ ],
    "edits" : [ {
      "after" : "      <- rtn as String?",
      "before" : "      <- rtn as String: `net ${price} gross ${price * (1.0 + rate)} tax ${price * (1.0 + rate) - price}`",
      "endLine" : 10,
      "file" : "task.ek9",
      "startLine" : 10,
      "type" : "replace"
    }, {
      "after" : "      gross <- price * (1.0 + rate)\n      rtn: `net ${price} gross ${gross} tax ${gross - price}`",
      "endLine" : 11,
      "file" : "task.ek9",
      "startLine" : 11,
      "type" : "insert"
    } ],
    "meta" : {
      "serverMs" : "<timing>"
    },
    "risk" : {
      "crossesModuleBoundary" : false,
      "estimatedSeverity" : "trivial",
      "fileCount" : 1,
      "lineCount" : 2,
      "touchesPublicApi" : false,
      "touchesTests" : false
    },
    "status" : "applied",
    "summary" : "Would extract `price * (1.0 + rate)` from rtn's initialiser as local gross: the return is declared 'String?' and assigned as the body's first statements (the same order)",
    "workspaceHash" : "<workspace-hash>",
    "wouldBeDiagnostics" : [ ],
    "written" : true
  },
  "scenario" : "return_initialiser_extracted",
  "tool" : "extract_variable"
}
