#lang racket/base (require racket/base racket/contract syntax/parse/define syntax/wrap-modbeg (for-syntax racket/base) racket/draw pict ppict/pict ppict/tag ppict/align) (provide (rename-out [x:#%module-begin #%module-begin]) (except-out (all-from-out racket/base racket/contract racket/draw pict ppict/pict ppict/tag ppict/align) #%module-begin)) (define-syntax x:#%module-begin (make-wrapping-module-begin #'x:wrap-object)) (define-syntax-parse-rule (x:wrap-object body:expr) #:with id (datum->syntax #'body 'icon-pict) #:do [(syntax-local-lift-provide #'id)] (define/contract id pict? body)) (module reader syntax/module-reader capybara/pict)