#lang racket (provide (except-out (all-from-out racket) #%top #%app) (rename-out [top #%top] [app #%app])) (define-syntax-rule (top . x) 'x) (define-syntax-rule (app f . xs) (if (hash? f) (hash-ref f . xs) (f . xs)))