Type globs are symbol table entries. Perl has a type globs because Perl has a symbol table at runtime. Perl has a symbol table at runtime because it allows code to be compiled after runtime has started.
For example, the following adds bar to the symbol table after Mod.pm has been executed.
use Mod;
sub bar { ... }
...
Perl doesn't have to expose the type globs to the program, but it makes some incredible things possible. A simple example is aliasing a sub.
sub foo { ... }
*Foo = \&foo; # Create alias for backwards compatibility.