#lang scheme

(define-syntax new:cond
  (syntax-rules (else)
    [(_)  (void)]
    [(_ [else else-expr])  else-expr]
    [(_ [test-expr^ then-expr^] [test-expr then-expr] ...)
     (if test-expr^
         then-expr^
         (new:cond [test-expr then-expr] ...))]))

(provide
 #%module-begin #%datum #%app if define
 (rename-out [new:cond cond])
 < quote)
