(module qstr-lang mzscheme (provide (all-from-except mzscheme #%datum) (rename datum #%datum)) (require "quasistring.ss") (define-syntax (datum stx) (syntax-case stx () [(_ . val) (string? (syntax-e #'val)) #'(qs val)] [(_ . any) #'(#%datum . any)])))