anchor.diff:    (with-accessors ((message message) (action action)) msg
       (setf action (subseq (string-trim '(#\u001) message) 8))))
   
  -;; KICK
  +(defmethod print-object ((msg action-message) stream)
  +  "Print PRIVMSG ACTION object."
  +  (print-unreadable-object (msg stream :type t :identity t)
  +    (format stream "~a: PREFIX: '~a' CHANNEL: '~a' ACTION: '~a'"
  +            (date-fmt msg)
  +            (prefix msg)
  +            (channel msg)
  +            (action msg))))
  +
  +;; KICK message
  +
   (defclass kick-message (channel-message)
     ((channel
       :documentation "IRC channel where user is kicked.")
  
positive.code: 		  :text (format nil "~{~a~^ ~}" args)))))
    (call-next-method))
  
  ;; Maybe made subclass with "message" contents?
  (defclass quit-message (irc-message)
    ((message
  
negative.code: 	      (channels msg) :test #'equal)
      t))
  
  (defmethod print-object ((msg channel-message) stream)
    "Print channel-type object."
    (print-unreadable-object (msg stream :type t :identity t)
      (format stream "~a: NICK: '~a' HOST: '~a' CHANNEL: '~a' ARGS: '~a'"
              (date-fmt msg)
              (nick msg)
              (host msg)
              (channel msg)
              (args msg))))
  
  ;; JOIN message
  
  (defclass join-message (channel-message)
    ((channel
      :documentation "IRC channel which user joined.")))
  
  ;; PRIVMSG message
  
  (defclass privmsg-message (channel-message)
    ((channel
  