current-kill in Outline

The current-kill function looks complex, but as usual, it can be understood by taking it apart piece by piece. First look at it in skeletal form:

(defun current-kill (n &optional do-not-move)
  "Rotate the yanking point by N places, and then return that kill."
  (let varlist

This function takes two arguments, one of which is optional. It has a documentation string. It is not interactive.