(define (quote-if-predefined-type arg)
(if (memq arg list-of-types)
`(quote ,arg)
arg))
...
(map quote-if-predefined-type
(syntax->datum
(syntax (?arg-type0 ?arg-type ...)))))))
That needs to be #`(quote #,arg) . Needs to bound-identifier=?
(define (quote-if-predefined-type arg)
(if (memq arg list-of-types)
`(quote ,arg)
arg))
...
(map quote-if-predefined-type
(syntax->datum
(syntax (?arg-type0 ?arg-type ...))))))))
Same thing. Still not bound.
Aziz gave me a good tip to remember, never use (actually avoid) syntax
conversions unless you really have to (like introducing variables or need to
tweak the scope).
Cheers
leppie