phase.ss
(module phase mzscheme

  (provide in-phase1)
  
  ;; From Ryan Culpepper:
  (define-syntax (in-phase1 stx)
    (syntax-case stx ()
      [(in-phase1 e)
       (case (syntax-local-context)
         ((expression)
          #'(let-syntax ([_ e]) (void)))
         ((module top-level)
          #'(begin (define-syntax m (lambda (x) (begin e #'(begin))))
                   (m)))
         (else
          (raise-syntax-error #f "used in wrong context" stx)))]))

  )