define-described-class macro