Medic is a really interesting tool in Racket for adding debug statement to a program without modifying it! This saves you littering your code with print statements. https://docs.racket-lang.org/medic/Demo_1__border-expr_and_at-expr.html I suspect a s-expression syntax really helps for an approach like this.