+(define-type-method type-alignment ((type signed-byte) &key (inlined t))
+ (assert-inlined type inlined)
+ (destructuring-bind (&optional (size '*))
+ (rest (mklist (type-expand-to 'signed-byte type)))
+ (let ((size (if (eq size '*)
+ (second (type-expand-to 'signed-byte 'int))
+ size)))
+ #+sbcl(sb-alignment `(sb-alien:signed ,size))
+ #+clisp(ecase size
+ ( 8 (nth-value 1 (ffi:sizeof 'ffi:sint8)))
+ (16 (nth-value 1 (ffi:sizeof 'ffi:sint16)))
+ (32 (nth-value 1 (ffi:sizeof 'ffi:sint32)))
+ (64 (nth-value 1 (ffi:sizeof 'ffi:sint64))))
+ #-(or sbcl clisp) 4)))
+