anchor.diff:  
   function_body :
        t_FUNCTION (t_FILLER? output_params t_FILLER? t_ASSIGN)? t_FILLER? name t_FILLER? (input_params t_FILLER?)?
  -     (stmt_separator -> template(original={$text}, extra={getCommentStringToInsert()}) "<original><extra>")
  +     (stmt_separator -> template(original={$text}, extra={insertDeletedComments()}) "<original><extra>")
        (t_FILLER? stmt_or_function)* t_FILLER? 
        t_END
     ;
  
positive.code:   ;
  
  function_beginning :
       ((dt_FILLER | dt_LINE_TERMINATOR | dt_COMMENT | dt_BRACKET_COMMENT) -> template() "")* { leadingComments = $text; }
    ;
  
  function_separator :
  
negative.code:         //fudge factor to point following stuff back to location preceding inserted newlines
          offsetTracker.recordOffsetChange(-1, lineLength);
       }
       ((function_separator_blob { appendToLeadingComments($text, $start.getCharPositionInLine()); }) -> template() "")*
       -> template(gap={"\n\n"}) "<gap>"
    ;
  
  