ALEXANDRIA:SWITCH does not accept a function value
This works:
(defun foo (thing)
(alexandria:switch (thing :test (lambda (thing list) (member thing list :test #'equal)))
('(1 2 3) :number)
('("1" "2" "3") :string)
('(:one :two :three) :keyword)))
This explodes:
(defun foo (thing)
(alexandria:switch (thing :test (alexandria:rcurry #'member :test #'equal))
('(1 2 3) :number)
('("1" "2" "3") :string)
('(:one :two :three) :keyword)))