- `(let ,(cons '(mob-id (gensym)) attr)
- (lambda* (#:optional (option #f))
- (case option
- ((get-mob-id)
- mob-id)
- (else
- (catch #t
- (lambda () ,@body)
- (lambda (key . args) #f)))))))
+ (let ((mob-id-symbol (gensym))
+ (type-mob
+ `(let ,(cons `(,mob-id-symbol (gensym)) attr)
+ (lambda* (#:optional (option #f))
+ (define (kill-me)
+ (hide-mob-hash ,mob-id-symbol))
+ (case option
+ ((get-mob-id)
+ ,mob-id-symbol)
+ (else
+ (catch #t
+ (lambda () ,@body)
+ (lambda (key . args) #f))))))))