gosh> (define-class <foo-meta> (<class>) ()) <foo-meta> gosh> (define-syntax define-foo (syntax-rules () ((_ name) (define-class name () () :metaclass <foo-meta>)))) #<undef> gosh> (define-foo <foo>) <foo> gosh> (class-of <foo>) ; expecting <foo-meta> #<class <class>>