- (define (find-message-handler return)
- (for-each (lambda (this-class)
- (define actions
- (or (and (class-slot-definition this-class 'actions)
- (class-slot-ref this-class 'actions))
- '()))
- (for-each (match-lambda
- ((action-name . method)
- (when (eq? action-name action)
- (return method))))
- actions))
- (class-precedence-list (class-of actor)))
+ (define method
+ (class-rmeta-ref (class-of actor) 'actions action
+ #:equals? eq? #:cache-set! hashq-set!
+ #:cache-ref hashq-ref))
+ (unless method