(defmethod add2 ((c1 cart) (c2 cart))
(make-instance 'cart
:x (+ (cart-x c1) (cart-x c2))
:y (+ (cart-y c1) (cart-y c2))))
(defmethod add2 ((p1 polar) (p2 polar))
(to-polar (add2 (to-cart p1)
(to-cart p2))))
(defmethod add2 ((c cart) (p polar))
(add2 c (to-cart p)))
(add2 c p)
[CART x 11.0710678 y 10.0710678]