anchor.diff:                              if t.CharClass = FSharpTokenCharKind.Keyword && t.LeftColumn >= column && t.TokenName = "WITH" then
                                   Some (Pos.fromZ line (t.RightColumn + 1))
                               else None)
  -                return Some { InterfaceData = iface; EndPosOfWith = endPosOfWidth; Tokens = tokens } 
  +                let appendBracketAt =
  +                    match iface, appendBracketAt with
  +                    | InterfaceData.ObjExpr _, Some _ -> appendBracketAt
  +                    | _ -> None
  +                return Some { InterfaceData = iface; EndPosOfWith = endPosOfWidth; AppendBracketAt = appendBracketAt; Tokens = tokens } 
           }
           
       let getLineIdent (lineStr: string) =
  
positive.code:                            startColumn indentSize typeParams objectIdentifier defaultBody
                             displayContext implementedMemberSignatures entity verboseMode
              stub.TrimEnd(Environment.NewLine.ToCharArray())
          match state.EndPosOfWith with
          | Some pos -> 
              let currentPos = sourceText.Lines.[pos.Line-1].Start + pos.Column
              TextChange(TextSpan(currentPos, 0), stub)
          | None ->
              let range = state.InterfaceData.Range
              let currentPos = sourceText.Lines.[range.EndLine-1].Start + range.EndColumn
              TextChange(TextSpan(currentPos, 0), " with" + stub)
              
      let registerSuggestions (context: CodeFixContext, results: FSharpCheckFileResults, state: InterfaceState, displayContext, entity, indentSize) =
          if InterfaceStubGenerator.hasNoInterfaceMember entity then 
              ()
  
negative.code:     let fixableDiagnosticIds = ["FS0366"]
      let checker = checkerProvider.Checker
  
      let queryInterfaceState appendBracketAt (pos: pos) tokens (ast: Ast.ParsedInput) =
          async {
              let line = pos.Line - 1
              let column = pos.Column
  