procedure is now a CLOS class; methods and base types are now procedures