anchor.diff:  
   (defpackage :cjf-stdlib
     (:use :cl)
  -  (:export :mget :mget* :println :-> :->string)
  +  (:export :mget :mget* :println :-> :->string :keys :ht)
     )
   
   (defpackage :cjf-stdlib-test
  
positive.code:           `(-> (,(car rest) ,first) ,@(cdr rest)))
        first))
  
  (in-package :cjf-stdlib-test)
  
  (defclass test-obj-with-slots ()
  
negative.code: 
  (defun threading-test ()
    (assert (equal (-> "" helper-a (helper-b "x") helper-c) "abxc")))
  
  (defun keys-test ()
      (let ((pl-test '(:test0 "v0" :test1 "v1" :test2 "v2"))
            (al-test '((:test0 . "v0") (:test1 . "v1") (:test2 . "v2")))
            (h-test (make-hash-table))
            (expected '(:test0 :test1 :test2)))
        (setf (gethash :test0 h-test) "v0")
        (setf (gethash :test1 h-test) "v1")
        (setf (gethash :test2 h-test) "v2")
  
        (assert (equal (keys pl-test) expected))
        (assert (equal (keys al-test) expected))
        (assert (equal (keys h-test) expected))))
  
  (defun ht-test ()
    (let ((h (ht :a 1 :b 2 :c 3)))
      (assert (equal (type-of h) 'hash-table))
      (assert (equal (keys h) '(:a :b :c)))
      (assert (equal (mget h :b) 2))))
  