Question: can a type be out of scope from classes in the same package?

Answer: no.  A type is automatically in scope for the classes in the
same package.  The keyword "public" does not restrict the scope rules
for types, and the default (no keyword) access does not restrict the
scope rules for the classes in the same package.