anchor.diff:                msg-params)
   (msg-rpc-type response 1
                 msg-id
  -              (msg-error :parse (if msg-error (error (byte-array->string (second msg-error)))) :dont-export T)
  +              (msg-error :parse (if msg-error (error (second msg-error))) :dont-export T)
                 msg-result)
   (msg-rpc-type notification 2
                 msg-method
                 msg-params)
   
  -(defun byte-array->string (arr)
  -  "Convert array of (unsigned-byte 8) to string."
  -  (octets-to-string (concatenate '(vector (unsigned-byte 8)) arr) :encoding :utf-8))
  -
  -(defparameter *global-event-base* nil)
  -
  -(defun run-listener (listener &rest listener-args)
  -  (as:with-event-loop ()
  -    (format t "Starting listener...~%")
  -    (setf *global-event-base* cl-async-base:*event-base*
  -          *socket* (apply listener (append listener-args
  -                                           (list #'handle-new-msg))))
  -    (as:signal-handler 2 #'(lambda (sig)
  -                             (declare (ignore sig))
  -                             (as:exit-event-loop)))))
  -
  +(defparameter *global-event-base* nil "Event base of the running event loop.")
   
   (defun handle-new-msg (socket data)
  +  "Handle a new message based on its type and contents."
     (let* ((*decoder-prefers-lists* T)
            (*extended-types* *nvim-type-list*)
            (mpk::*bin-as-string* T)
  
positive.code: (in-package #:cl-neovim)
  
  (defparameter *msg-id* 0)
  (defparameter *socket* NIL)
  (defparameter *listener-thread* NIL)
  
  (eval-when (:compile-toplevel)
    (defun symbol-append (&rest symbols) 
  
negative.code:     (cond ((requestp msg) 
             (multiple-value-bind (msg-id msg-method msg-params) (parse-request msg)
               (format t "Received request [~A] ~A(~{~A~^, ~})~%" msg-id msg-method (first msg-params))
               (send-response msg-id (format NIL "Replying to request [~A] ~A(~{~A~^, ~})" msg-id msg-method (first msg-params)) NIL)))
            ((responsep msg) 
             (multiple-value-bind (msg-id msg-result) (parse-response msg)
               (format t "Received response [~A] ~A~%" msg-id msg-result)
  