anchor.diff:  (defun mpi-recv (array source &key (comm *standard-communicator*)
                                   start end
                                   (tag +mpi-any-tag+))
  +  "Blocks until a message from a process with rank SOURCE and tag TAG has
  +been received."
     (declare (type simple-array array)
              (type int source tag)
              (type mpi-comm comm)
  
positive.code:          mpi-tag)))))
  
  (defun mpi-test (request)
    (declare (type mpi-request request))
    (with-foreign-objects ((status* '(:struct mpi-status))
                           (flag* :int)
  
negative.code:     (values (not (zerop (mem-ref flag* :int))) request)))
  
  (defun mpi-wait (request)
    "Blocks until REQUEST has been completed."
    (declare (type mpi-request request))
    (with-foreign-objects ((status* '(:struct mpi-status))
                           (request* 'mpi-request))
  