initialize-instance
Never override the primary method!
This is where you initialize the object
(defmethod initialize-instance :after
((object square) &key &allow-other-keys)
(when (< (width object) 0)
(error "Width is negative.")))
> (make-instance 'square :width -5) ; error!