(define-macro (d-s n t)
  ;; (display "D-S: ")
  ;; (display `(define-macro (,n . a)
  ;;             (,t (cons ',n a))))
  ;; (newline)
  `(define-macro (,n . args)
     ;; (display "CALLING: t: ")
     ;; (display ,t)
     ;; (display " args: ")
     ;; (display (cons ',n a))
     ;; (newline)
     ;; (display "HALLO: ==>")
     ;; (display (,t (cons ',n a)))
     ;; ;; (display "HALLO: ==>")
     ;; ;; (display (,t (cons ',n a)))
     ;; (newline)
     (,t (cons ',n args))
     )
  )

(d-s s-r
     (let ()
       (define name? symbol?)
       (lambda (. n-a)
         ;;(define name? symbol?)
        (display "YEAH:")
        (display n-a)
        (display (name? n-a))
        (newline)
        '(lambda (. i) ;;(i r c)
           (display "transformers")
           (newline)
           ''tee-hee-hee
           )
        ;; (define (foo) (display "Footje") (newline) 'f-f-f)
        ;; foo
        ;;"blaat"
        ))
     )

(display "calling s-r")
(newline)
(d-s when
     (s-r 0 1 2)
     )

(display "calling when")
(newline)
(display (when 3 4 5))
(newline)
'dun