anchor.diff:  
    (progn (schedule array-1 array-2)
           (run-expensive-task)
  -        (compute array-1 array-2)).
  -")
  +        (compute array-1 array-2)).")
   
   ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
   ;;;
  
positive.code: example, the shape (~ 0 ~ 1 2 ~ 3 4 7) has rank three and consists of the
  integer tuples (0 1 3), (0 1 7), (0 2 3), (0 2 7).")
  
  (document-function make-shape
    "Constructs a shape from a supplied list of ranges."
    (make-shape (list (range 5 9) (range 2 3))))
  
  (document-function shape-size
    "Returns that number of integer tuples denoted by the supplied shape."
  
negative.code: disjoint subranges of R1 that describe exactly those integers appearing in
  R1 but not in R2.")
  
  (document-function range-start-step-end
    "Returns the start, step and (inclusive) end of the range, respectively."
    (range-start-step-end (range 0 2 8)))
  
  ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  ;;;
  ;;; Shapes
  