anchor.diff:            split-sequence:split-sequence-if
             split-sequence:split-sequence-if-not))
   
  +(defun make-sequence-like (seq len &rest args &key initial-element (initial-contents nil ic?))
  +  (seq-dispatch seq
  +    (if ic?
  +        (map 'list #'identity initial-contents)
  +        (make-list len :initial-element initial-element))
  +    (apply #'make-array len :element-type (array-element-type seq) args)
  +    #+(or sbcl abcl) (apply #'sequence:make-sequence-like seq len args)))
  +
   (defun nsubseq (seq start &optional end)
     "Return a subsequence that may share structure with SEQ.
   
  
positive.code:                                (heap-insert heap elt :key key :test #'test))))
                        (incf i))
                      seq)
                 (coerce-by-example
                  (take n (nreverse (heap-extract-all heap :key key :test #'test)))
                  seq))))))
  
  (dotimes (i 100)
    (let ((list (map-into (make-list 1000) (lambda () (random 1000)))))
  
negative.code:                                     (nsubseq seq start end)
                                      count
                                      from-end)))
          (make-sequence-like seq (length items) :initial-contents items))))
  
  (assert (equal '(0 2 4 6 8) (filter #'evenp (iota 100) :count 5)))
  (assert (equalp #(0 2 4 6 8) (filter #'evenp (coerce (iota 100) 'vector) :count 5)))
  (assert (equal '(90 92 94 96 98)
                 (filter #'evenp (iota 100) :count 5 :from-end t)))
  
  