anchor.diff:    (mem-aref (buffer pcm) (alsa-element-type (element-type pcm)) position))
   
   (defmethod alsa-close ((pcm pcm-stream))
  -  (snd-pcm-close (deref (handle pcm))))
  +  (snd-pcm-close (deref (handle pcm)))
  +  pcm)
   
   (defmethod alsa-write ((pcm pcm-stream))
  -b  (assert (eql (direction pcm) :output))
  +  (assert (eql (direction pcm) :output))
     (with-slots (buffer element-type) pcm))
   
  
positive.code: (defun deref (var)
    (mem-ref var :pointer))
  
  (defclass pcm-stream ()
    ((handle :reader handle :initform (foreign-alloc :pointer :initial-contents (list (null-pointer))))
     (params :reader params :initform (foreign-alloc :pointer :initial-contents (list (null-pointer))))
  
negative.code: 					  (((unsigned-byte 16) :snd-pcm-format-u16-le))
  					  (((signed-byte 16)) :snd-pcm-format-s16-le)))))
      
      (ensure-success (snd-pcm-open (handle pcs) device (direction pcs) 0))
      (ensure-success (snd-pcm-hw-params-malloc (params pcs)))
      (ensure-success (snd-pcm-hw-params-any (deref (handle pcs)) (deref (params pcs))))
      (ensure-success (snd-pcm-hw-params-set-access (deref (handle pcs)) (deref (params pcs)) :snd-pcm-access-rw-interleaved))
      (ensure-success (snd-pcm-hw-params-set-format (deref (handle pcs)) (deref (params pcs)) (pcm-format pcs)))
      (ensure-success (snd-pcm-hw-params-set-rate (deref (handle pcs)) (deref (params pcs)) (sample-rate pcs) 0))
      (ensure-success (snd-pcm-hw-params-set-channels (deref (handle pcs)) (deref (params pcs)) 2))
      (ensure-success (snd-pcm-hw-params (deref (handle pcs)) (deref (params pcs))))
      (snd-pcm-hw-params-free (deref (params pcs)))
      pcs))
  
  