metatypes (todo: test)