+
+(define (sum-points . points-to-sum)
+ (let loop ((points points-to-sum)
+ (x 0)
+ (y 0))
+ (cond ((null? points)
+ (make-point x y))
+ (else
+ (loop (cdr points)
+ (+ x (point-x (car points)))
+ (+ y (point-y (car points))))))))
+
+(define (scale-point point scale)
+ (make-point
+ (* (point-x point) scale)
+ (* (point-y point) scale)))