Names can be re-used across packages. Full type names need to be used to protect against naming conflicts. See #786