+ (priority command-priority)
+ (obvious? command-obvious?))
+
+(define-syntax %build-command
+ (syntax-rules ()
+ ((_ (verb ...) ((cmd-proc action-sym args ...) ...))
+ (list (cons verb
+ (list (cmd-proc (list verb ...)
+ (quote action-sym)
+ args ...)
+ ...))
+ ...))
+ ((_ verb ((cmd-proc action-sym args ...) ...))
+ (list (cons verb
+ (list (cmd-proc (list verb)
+ (quote action-sym)
+ args ...)
+ ...))))))
+
+(define-syntax-rule (build-commands (verb-or-verbs cmd-defs ...) ...)
+ (wrap-rmeta-slot
+ (append (%build-command verb-or-verbs cmd-defs ...) ...)))
+
+
+(define* (direct-command verbs action #:key (obvious? #t))