anchor.diff:           (result (snd-pcm-writei (deref (handle pcm)) (buffer pcm) expected)))
       (cond ((= result (- +epipe+))
              ;; Under run, so prepare and retry
  +	   (format t "Underrun!")
              (snd-pcm-prepare (deref (handle pcm)))
              (alsa-write pcm))
             ((/= result expected)
  
positive.code:   (snd-pcm-drain (deref (handle pcm))))
  
  (defmethod get-delay ((pcm pcm-stream))
    (cffi:with-foreign-object (result :long)
      (ensure-success (snd-pcm-delay (deref (handle pcm)) result))
      (mem-ref result :uint)))
  
  (defmethod alsa-close ((pcm pcm-stream))
    (when (eq (status pcm) :open)
  
negative.code: 				       :direction ,direction :sample-rate ,sample-rate :channels-count ,channels-count)))
       (unwind-protect
  	  (progn ,@body)
         (also-alsa:drain ,stream)
         (also-alsa:alsa-close ,stream))))
  