Concept
Object pattern
Books
Journey Statuslearning
scheme
(define o
(let ([prop1 (...)]
[prop2 (...)])
(lambda (m)
(case m
[(first) (lambda () prop1)]
[(second) (lambda () prop2)])))