Say I have a function that takes a lot of homogeneous keywords arguments:
(define (my-function #:arg1 arg1
#:arg2 arg2
; etc.
#:argN argN) (do-something))
"Homogeneous" in the sense that they all fall under the same contract. Is there a better way of defining a contract for my-function
without simply listing out all the arguments again, as in:
(-> #:arg1 my-arg/c
#:arg2 my-arg/c
; etc.
#:argN my-arg/c
my-return/c)
I suppose one could write a macro for this, but is there an easier solution?