#lang racket (define-syntax-rule (list-when test body) (if test body '())) (let ([not-a-string 42]) (list-when (string? not-a-string) (string->list not-a-string)))