(define-syntax gl-debug (syntax-rules () ([_ (func args ...)] (begin (func args ...) (let ([error (gl:GetError)]) (if (equal? error 0) (print "[" func "] No error.") (print "[" func "] Error: " (glu:ErrorString))))))))