The type system provided by Mouse effectively makes all types global,
which can be a problem when different parts of the code base want to use
the same name for different things. MouseX::Types lets you declare
types using short names, but behind the scenes it namespaces all your
type declarations, preventing name clashes between packages.