anchor.diff:                  |> List.rev
   
           comments
  +        |> List.filter (fun comment -> comment.Lines.Count > 1)
           |> List.map (fun comment ->
  -            let lines = comment.Lines.ToArray() |> Array.rev
  +            let lines = comment.Lines
               let startLine, startStr = lines.[0]
  -            let endLine, endStr = lines.[lines.Length - 1]
  +            let endLine, endStr = lines.[lines.Count - 1]
               let startCol = startStr.IndexOf '/'
               let endCol = endStr.TrimEnd().Length
   
  
positive.code:     type private CommentList = 
          { Lines: ResizeArray<LineNum * LineStr>
            Type: CommentType }
          static member New ty = { Type = ty; Lines = ResizeArray() }
  
      let private (|Comment|_|) line =
          match line with
  
negative.code:     let getCommentRanges (lines: string[]) =
          let comments: CommentList list =
              lines
              |> Array.foldi (fun ((lastLineNum, currentComment: CommentList option, result) as state) lineNum lineStr ->
                  match lineStr.TrimStart(), currentComment with
                  | Comment commentType, Some comment ->
                      if comment.Type = commentType && lineNum = lastLineNum + 1 then
                          comment.Lines.Add (lineNum, lineStr)
                          lineNum, currentComment, result
                      else lineNum, Some (CommentList.New commentType (lineNum, lineStr)), comment :: result
                  | Comment commentType, None -> 
                      lineNum, Some (CommentList.New commentType (lineNum, lineStr)), result
                  | _, Some comment -> 
                      lineNum, None, comment :: result
                  | _ -> state) 
                 (-1, None, [])
              |> fun (_, lastComment, comments) -> 
  