(define f (let ((inner-v 1)) (lambda (v) (begin (set! inner-v (* inner-v v)) inner-v))))
(define (make-joint account passwd newpasswd) (define (dispatch pass m) (if (?eq pass newpasswd) (account passwd m) (else (error "Bad passwd when joint")))) dispatch)
(define (rand command) (cond ((eq? command'generate) (random)) ((eq? command 'reset) (lambda (new) (random-seed new))) (else (error "Bad command -- " command))))