(define (real-part z) (cond ((rectangular? z) (real-part-rectangular (contents z))) ((polar? z) (real-part-polar (contents z))))) (define (imag-part z) (cond ((rectangular? z) (imag-part-rectangular (contents z))) ((polar? z) (imag-part-polar (contents z))))) (define (magnitude-part z) (cond ((rectangular? z) (magnitude-part-rectangular (contents z))) ((polar? z) (magnitude-part-polar (contents z))))) (define (angle-part z) (cond ((rectangular? z) (angle-part-rectangular (contents z))) ((polar? z) (angle-part-polar (contents z)))))という具合に,タイプごとにcond文で 場合分けをするわけです.