anchor.diff:                                 (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))))))
  +               (let ((bestn (take n (nreverse (heap-extract-all heap :key key :test #'test)))))
  +                 (make-sequence-like seq n :initial-contents bestn)))))))
   
   (dotimes (i 100)
     (let ((list (map-into (make-list 1000) (lambda () (random 1000)))))
  
positive.code: 
  (defun filter (pred seq &rest args &key count from-end (start 0) end
                                          (key #'identity)
                          &allow-other-keys)
    "Almost the opposite of `remove-if-not'.
  The difference is the handling of COUNT."
    (if (null count)
  
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)))
  
  