anchor.diff:          (values-list (rest cached-weather)))))
   
   (defun parse-weather-args (module message raw-args)
  -  (let (opts args)
  -    (dolist (arg raw-args)
  -      (if (string= "-" arg :end2 1)
  -          (push arg opts)
  -          (push arg args)))
  +  (multiple-value-bind (opts args)
  +      (parse-args '((:metric . boolean)
  +                    (:set . boolean)
  +                    (:fucking . boolean)
  +                    (:doge . boolean))
  +                  raw-args)
       (values
  -     (find "--metric" opts :test #'string=)
  -     (find "--set" opts :test #'string=)
  -     (find "--fucking" opts :test #'string=)
  -     (find "--doge" opts :test #'string=)
  +     (getf opts :metric)
  +     (getf opts :set)
  +     (getf opts :fucking)
  +     (getf opts :doge)
        (cond
          (args
           (join-to-string " " (nreverse args)))
  
positive.code:                                   (zerop (parse-number:parse-number wind-gust-kph)))
                         wind-dir)
                       wind-kph
                       (unless (equal wind-kph wind-gust-kph) 
                         wind-gust-kph))
             (reply-to message "Forecast: ~a, High: ~aC, Low: ~aC" forecast high-c low-c)
             (reply-to message "~:{~a starting ~a~%~}" alerts))
            
            (t
             (reply-to message "~a, Temp: ~aF, Dewpoint: ~aF, ~
                             ~@[Heat Index: ~aF, ~]~
  
negative.code:                           ((> temp-f 10) "icy")
                            ((> temp-f 0) "frigid")
                            (t "arctic"))))
  
            (reply-to message "Current weather for ~a: ~a?!? It's fucking ~a~:[.~;~:*, and there's a fucking ~:{~a~*~:^, and a fucking ~}~]."
                      city
                      (if metricp temp-c temp-f)
  