be smarter about using type-add