a little smarter about type names