Jeff,
> In the general case though, for any object that refers to multiple other
> objects, I don't see any way around explicit schema qualification. I
> suppose it could be smart and say "foo_type is unique in my search path,
> so I don't need to schema-qualify it".
Yeah, but for most other objects "public" is also excluded as well as
pg_catalog. For CREATE TYPE, "public" is explicit.
> Have you considered working from the "custom" format rather than text?
> I'm not sure whether it solves your problem, but I think it provides the
> most information.
--Josh Berkus