Racket has 2 object systems, both single dispatch and CLOS style multimethods! Single dispatch is the default, which seems to help cohesion.