This patch changes Complex#polar so that if its second argument (the angle) is exact zero, then the result is a RealNum. This makes it consistent with how Complex#make works. Otherwise you end up with the strange situation of: #|kawa:1|# (make-polar 3 0) 3.0 #|kawa:2|# (= (make-polar 3 0) 3.0) #t #|kawa:3|# (real? 3.0) #t #|kawa:4|# (real? (make-polar 3 0)) #f #|kawa:5|# (make-polar 3 0):class class gnu.math.DComplex N.B. (real? (make-polar 3 0)) returns #t in all the other Schemes I checked (Gambit, Guile, MIT, and Racket), but doing so is not required by RnRS. -- Jamison Hope The PTR Group www.theptrgroup.com