anchor.diff:      (foreign-free message)))
   
   (defmacro with-msg-init ((var) &body body)
  -  "Evaluate BODY in an environment where VAR is binded to a new empty
  -  message."
  +  "Evaluate BODY in an environment where VAR is bound to a new empty message."
     `(with-foreign-object (,var 'msg)
        (call-ffi -1 '%msg-init ,var)
        (unwind-protect
  
positive.code: 
  (defmacro with-msg-init-data ((var data &key (encoding *default-foreign-encoding*))
                                &body body)
    "Evaluate BODY in an environment where VAR is binded to a new message filled
  with DATA. If DATA is a string, it is encoded using the character coding
  schema ENCODING."
    `(with-foreign-object (,var 'msg)
  
negative.code:             (foreign-bitfield-value 'recv-options flags)))
  
  (defmacro with-poll-items ((items-var size-var) items &body body)
    "Evaluate BODY in an environment where ITEMS-VAR is bound to a foreign
    array of poll items, and SIZE-VAR is bound to the number of polled
    items. Poll items are filled according to ITEMS. ITEMS is a list where each
    element describe a poll item. Each description is a list where the first
    element is a socket or file descriptor, and other elements are the events to
  