Here is the macro, a macro for cffi::mem-aref. I was trying to make it so I can setf it like you can with mem-aref, but can't figure out how to do it. Any help is appreciated.
(defmacro ? (ptr type &optional (index 0))
`(cond ((pointerp ,ptr)
(return-from ? (mem-aref ,ptr ,type ,index)))
((not (pointerp ,ptr))
(return-from ? mem-aref (c-pointer ,ptr) ,type ,index)))
(t 0)))