add `has-type`