(deftype test-stack-type (basic) ((name string) (count uint32) (pad uint8 12)) (:methods (new (symbol type int) _type_) ) ) (defmethod new test-stack-type ((allocation symbol) (type-to-make type) (init-count int)) (let ((obj (object-new allocation type-to-make))) (set! (-> obj name) "this is my name") (set! (-> obj count) init-count) obj ) ) (defun stack-test-2 () (let ((obj (new 'stack 'test-stack-type 12)) (obj2 (new 'stack 'test-stack-type 13))) (if (and (= 4 (logand 15 (the uint obj))) (= 4 (logand 15 (the uint obj2))) (= 12 (-> obj count)) ) 1234 0 ) ) ) (stack-test-2)